使用Apache POI从java中读取和写入xls和xlsx excel文件
我正在编写一个程序,需要从excel文件中读取和写入,而不管格式(xls或xlsx)。
我知道Apache POI,但它似乎有不同的类来处理xls文件(HSSF)和xlsx(XSSF)文件。
任何人都知道如何实现我在这里尝试做的事情。 (也欢迎使用POI以外的API的想法)。
这很简单,只需使用常见的SpreadSheet接口即可
您的代码看起来像:
Workbook wb = WorkbookFactory.create(new File("myFile.xls")); // Or .xlsx Sheet s = wb.getSheet(0); Row r1 = s.getRow(0); r1.createCell(4).setCellValue(4.5); r1.createCell(5).setCellValue("Hello"); FileOutputStream out = new FileOutputStream("newFile.xls"); // Or .xlsx wb.write(out); out.close();
只要使用通用接口,就可以读取,编写,编辑现有文件(.xls和.xlsx),使用完全相同的代码
为什么不从扩展中检测文件类型并使用适当的Apache POI类进行处理? 我怀疑是否有适合您情况的绝对通用的开箱即用解决方案。
- java.lang.NoClassDefFoundError:org / openxmlformats / schemas / spreadsheetml / x2006 / main / CTWorkbook $ Factory
- 编写XSSFWorkbook时,使用JDBC在Spring Boot应用程序中创建损坏的.xlsx文档
- JAVA:将数据(从数据库)导出到Excel并将其发送到客户端
- 石英多次执行后,Java Excel POI停止
- 使用java servlet将excel文件发送到客户端
- java.lang.OutOfMemoryError:使用apache POI读取excel文件时超出了“GC开销限制”
- 使用Apache POI更新MSWord文档
- 如何使用Java获得具有已定义宽度的多行富文本字段(任何字体,任何字体大小)所需的高度?
- java使用APACHE POI在powerpoint中创建图表