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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通