12

我正在编写一个程序,它需要从 excel 文件中读取和写入,无论格式如何(xls 或 xlsx)。

我知道 Apache POI,但它似乎有不同的类来处理 xls 文件(HSSF)和 xlsx(XSSF)文件。

任何知道我如何实现我在这里想要做的事情的人。(也欢迎使用 POI 以外的 API 的想法)。

4

2 回答 2

23

很简单,使用常用的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

于 2013-04-14T15:41:28.730 回答
2

为什么不从扩展中检测文件类型并使用适当的 Apache POI 类进行处理?我怀疑您的情况是否有一个绝对通用的开箱即用解决方案。

于 2013-04-14T11:37:18.733 回答