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
Why not detect the file type from extension and use the appropriate Apache POI class for processing? I doubt there's an absolutely universal out-of-the-box solution for your situation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With