Question posted 2013 · +8 upvotes
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).
Accepted answer +15 upvotes
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
Top excel Q&A (6)
- Shortcut to Apply a Formula to an Entire Column in Excel +335 (2011)
- How should I escape commas and speech marks in CSV files so they work in Excel? +136 (2012)
- Convert xlsx to csv in linux command line +96 (2012)
- How to create a link inside a cell using EPPlus +50 (2011)
- IF statement: how to leave cell blank if condition is false ("" does not work) +44 (2013)
- T-SQL: Export to new Excel file +44 (2012)
excel solutions on this site
— top 25%.