//寫在 try catch
List<String> filelist = getExcelFile(uploadDirectory, fileName);//解壓縮,並把檔案名稱塞入List
for(int data=0; data<filelist.size(); data++) {
System.out.println("目前讀取 "+(String)filelist.get(data));
POIFSFileSystem pfs = new POIFSFileSystem(new FileInputStream((String)filelist.get(data)));
HSSFWorkbook wb = new HSSFWorkbook(pfs);
//取sheet
System.out.println("共 "+wb.getNumberOfSheets()+" sheet");
for(int sheets=0; sheets<wb.getNumberOfSheets(); sheets++){
HSSFSheet sheet1 = wb.getSheetAt(sheets);
HSSFRow row = null;
//取row
System.out.println("共 "+sheet1.getLastRowNum()+" row");//(從0算起)
System.out.println("PhysicalNumber共 "+sheet1.getPhysicalNumberOfRows()+" row");//(從1算起)
for(int rowNum=0; rowNum<sheet1.getPhysicalNumberOfRows(); rowNum++) {
row = sheet1.getRow(rowNum);
//從第6Row開始讀取
// if( (null == row) || ((6-1)>rowNum) ){
// continue;
// }
//取cell
// int tempCT = 0;//沒有隱藏cell的順序
// System.out.println("第 "+String.valueOf(rowNum+1)+" row "+String.valueOf(Integer.valueOf(row.getLastCellNum()))+" cell");
System.out.println("共 "+row.getLastCellNum()+" cell");
for(int cellNum=0; cellNum<row.getLastCellNum(); cellNum++) {
// //第1Cell跳過
// if( (1-1)==cellNum ) {
// ++tempCT;
// continue;
// }
// //第4Cell,前一Cell,ID沒有取到值,跳下一列
// if( (4-1)==cellNum ) {
// if("".equals(personID)) {
// break;
// }
// }
// //隱藏欄,跳過
// if(sheet1.isColumnHidden(cellNum)) {
// continue;
// }
HSSFCell cell = row.getCell(cellNum);
if(null != cell) {
//取出資料
String value = "";
if(cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
value = String.valueOf( new Double(cell.getNumericCellValue()).longValue() );
} else if(cell.CELL_TYPE_STRING == cell.getCellType()) {
value = cell.getStringCellValue().trim();//去掉值前後半形空白
}
System.out.println(value);
}
}
}
}
}
//=======================================================================
//讀取
POIFSFileSystem pfs = new POIFSFileSystem(new FileInputStream((String)filelist.get(data)));
HSSFWorkbook wb = new HSSFWorkbook(pfs);
//取sheet
for(int sheets=0; sheets<wb.getNumberOfSheets(); sheets++){
HSSFSheet sheet1 = wb.getSheetAt(sheets);
HSSFRow row = null;
//取row
//取row System.out.println("共 "+sheet1.getLastRowNum()+" row");//(從0算起) System.out.println("PhysicalNumber共 "+sheet1.getPhysicalNumberOfRows()+" row");//(從1算起) for(int rowNum=0; rowNum<sheet1.getPhysicalNumberOfRows(); rowNum++) {
row = sheet1.getRow(rowNum);
//從第2Row開始讀取
if( (null == row) || ((2-1)>rowNum) ){
continue;
}
// System.out.println("第 "+String.valueOf(rowNum+1)+" row "+String.valueOf(Integer.valueOf(row.getLastCellNum()))+" cell"); System.out.println("共 "+row.getLastCellNum()+" cell"); for(int cellNum=0; cellNum<row.getLastCellNum(); cellNum++) {
HSSFCell cell = row.getCell(cellNum);
if(null != cell) {
//取出資料
if(cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
System.out.println("數cellType= " +cell.getCellType()+ " ,cellValue= " + String.valueOf( new Double(cell.getNumericCellValue()).longValue() ));
} else if(cell.CELL_TYPE_STRING == cell.getCellType()) {
System.out.println("文cellType= " +cell.getCellType()+ " ,cellValue= " + cell.getStringCellValue().replace(" ", "").trim());//先去掉全形空白,再去掉半形空白
}
}
}
}
}
//=======================================================================
//寫出