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 @   无效_rank  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示