用xls和xlsx excel文件在java中读写

我正在写一个程序,需要读写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文件

为什么不从扩展中检测文件types,并使用相应的Apache POI类进行处理? 我怀疑你的情况有一个绝对普遍的开箱即用的解决scheme。