I am writing a program which needs to read and write from excel files, irrespective of the format(xls or xlsx).
I am aware of the Apache POI, but it seems it has different classes to handle xls file(HSSF) and xlsx(XSSF) files.
Anyone aware of how I might achieve what I am trying to do here.
(Ideas for using an API other than POI are also welcome).
解决方案
It's very easy, just use the common SpreadSheet interfaces
Your code would look something like:
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();
You can read, write, edit etc an existing file, both .xls and .xlsx, with exactly the same code as long as you use the common interfaces