第一次接触POI,看了一上午英文文档,不过还好,感觉还是有很大收获的。下了jar包,下午自己动手写了一个读取excel的小程序。
功能很简单,就是从excel中读取数据放入list中,然后再将数据迭代显示出来,代码写的有点乱……
ReadExcel.java 用来读取数据并且返回
public class ReadExcel {
InputStream is = null;
Workbook wb=null;
List<ArrayList> rowList=null;
ArrayList<String> cellList=null;
public List<ArrayList> getStudent(){
try {
is = new FileInputStream(new File("d://a.xlsx"));
wb = WorkbookFactory.create(is);
} catch (Exception e) {
e.printStackTrace();
}
//int sheetnum=wb.getNumberOfSheets();
//int sheet_index=wb.getActiveSheetIndex();
Sheet sheet = wb.getSheetAt(0);
rowList=new ArrayList<ArrayList>();
for(Row row : sheet){
cellList=new ArrayList<String>();
for(Cell cell : row){
switch(cell.getCellType()){
case Cell.CELL_TYPE_NUMERIC:
if(DateUtil.isCellDateFormatted(cell)){
cellList.add(cell.getDateCellValue()+" ");
}else{
cellList.add(cell.getNumericCellValue()+" ");
}
break;
case Cell.CELL_TYPE_FORMULA:
cellList.add(cell.getCellFormula()+" ");
break;
case Cell.CELL_TYPE_STRING:
cellList.add(cell.getRichStringCellValue().toString()+" ");
break;
}
}
rowList.add(cellList);
}
return rowList;
}
}
测试代码,将数据在控制台输出
ReadExcel read=new ReadExcel();
List<ArrayList> ary1=read.getStudent();
for(ArrayList<String> arrayList:ary1){
for(String str:arrayList){
System.out.print(str);
}
System.out.println("");
}