POI(读取execl文件)

07版读取数据

public readExecl() {
//输入流 path:文件地址
InputStream is = new FileInputStream(path);
//创建工作簿
WorkBook workBook = new WorkBook(is);
//得到工作表1
Sheet sheet = workBook.getSheetAt(0);
//读取有多少行
int rowNum = sheet.getPhysicalNumberOfRows();
for(int i = 0; i < rowNum ; i++) {
//读取行
Row row = sheet.getRow(i);
if(row != null) {
//读取多少列
int cellNum = row.getPhysicalNumberOfCells();
for(int j = 0; j < cellNum ; j++) {
//读取列
Cell cell = row.getCell(j);
if(cell != null) {
//需要判断该列为什么类型,这里暂时写一个函数,后续补齐
String n = judgeType(cell.getCellType)
}
}
}
}
}

判断类型

public String judeType(String cellType) {
switch(cellType) {
String cellValue ;
case HSSFCell.CELL_TYPE_STRING://字符 cellValue= cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_BOOLEAN://布尔 cellValue = String.valueof(cell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_BLANK:// break; case HSSFCell.CELL_TYPE_NUMERIC://数字(日期、普通数字) if(HSSFDateUtil.isCellDateFormatted(cell))//日期{ Date date = cell.getDateCellValue(); cellValue = new DateTime(date).toString("yyyy-MM-dd"); } else { //普通数字,为防止数字过长可以转换为字符串输出 cell.setCellType(HSSFCell.CELL_TYPS_STRING); cellValue = cell.toString(); } break; case HSSFCell.CELL_TYPE_ERROR://数据类型错误 break; }
return cellValue; }

 

posted @ 2022-03-14 19:00  无效_rank  阅读(48)  评论(0)    收藏  举报