private static ArrayList<String[]> dataList = new ArrayList<String[]>(); //檔案內容
private FormulaEvaluator evaluator ;
public FormulaEvaluator getEvaluator() {
return evaluator;
}
public static void main(String args[]) throws Exception{
String filePath = "D:";
//確認檔案路徑
if(StringUtils.isBlank(filePath)){
return;
}else{
//real file path
if(filePath.startsWith("/")){
rFilePath = filePath + "/XXX.xls";
}else{
rFilePath = filePath + "\\XXX.xls";
}
}
//讀取檔案內容
try {
FileInputStream fis = new FileInputStream(rFilePath);
POIFSFileSystem fs = new POIFSFileSystem(fis);
HSSFWorkbook wb = new HSSFWorkbook(fs);
addData(wb,"sheet1");
addData(wb,"sheet2");
//print
if(dataList.size()>0){
for(int p1=0 ; p1<dataList.size() ; p1++){
for(int p2 =0 ; p2<dataList.get(p1).length ; p2++){
if(p2==dataList.get(p1).length-1){
System.out.println(dataList.get(p1)[p2]);
}else{
System.out.print(dataList.get(p1)[p2]+"|");
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static boolean addData(HSSFWorkbook wb,String sheetName){
HSSFSheet sheet = wb.getSheet(sheetName);
int totalRow = sheet.getLastRowNum()+1;
if(sheet == null || totalRow == 0){
errorCode.append(sheetName+"無資料");
return false;
}else{
for (int i = starDataNo; i < totalRow; i++) {
HSSFRow row = sheet.getRow(i);
String[] dataRow = new String[row.getLastCellNum()];
if(row!=null){
for(int j=0 ; j<row.getLastCellNum() ; j++){
dataRow[j] = row.getCell(j).toString().trim();
}
dataList.add(dataRow);
}
}
}
return true;
}
2014年12月2日 星期二
(Java)讀取xls置入ArrayList
以下為Java讀取xls置入ArrayList的方式
訂閱:
意見 (Atom)