java读取excel
/* * this function will read from excel * and will return the items of excel */ public static String[][] readExcel(String config) throws IOException { File f=new File(config); if(!f.exists()) { return null; } FileInputStream fs = new FileInputStream(f); //create a workbook Workbook wb = new HSSFWorkbook(fs); Sheet sheet = wb.getSheetAt(0); int rows=sheet.getLastRowNum(); Row firstRow=sheet.getRow(0); int columns=firstRow.getLastCellNum(); String[][] data=new String[rows+1][columns]; for(int rownum=0;rownum<=sheet.getLastRowNum();rownum++) { //for (Cell cell : row) Row row = sheet.getRow(rownum); if (row == null) { continue; } String value; for(int cellnum=0;cellnum<=row.getLastCellNum();cellnum++){ Cell cell=row.getCell(cellnum); // filter the null cells if(cell==null) { continue; } else { value=""; } switch (cell.getCellType()) { case Cell.CELL_TYPE_STRING: // System.out.println(cell.getRichStringCellValue().getString()); value=cell.getRichStringCellValue().getString(); break; case Cell.CELL_TYPE_NUMERIC: if (DateUtil.isCellDateFormatted(cell)) { //System.out.println(cell.getDateCellValue()); value=cell.getDateCellValue().toString(); } else { // System.out.println(cell.getNumericCellValue()); value=Double.toString((int)cell.getNumericCellValue()); } break; case Cell.CELL_TYPE_BOOLEAN: //System.out.println(cell.getBooleanCellValue()); value=Boolean.toString(cell.getBooleanCellValue()); break; case Cell.CELL_TYPE_FORMULA: //System.out.println(cell.getCellFormula()); value=cell.getCellFormula().toLowerCase(); break; default: value=" "; System.out.println(); } System.out.println(value); data[rownum][cellnum]=value; } } return data; }
转载请注明出处:http://www.cnblogs.com/tobecrazy/

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义