我有一个java代码来创建一个excel文件,它适用于扩展名.xls和.xlsx我能够打开.xls文件,但无法在ms excel中打开文件扩展名.xlsx,它说< strong> Excel无法打开'sample.xlsx'文件,因为文件格式或文件扩展名无效。验证文件是否已损坏,文件扩展名是否与文件格式匹配。
下面是我使用的java代码。
HSSFWorkbook workBook = new HSSFWorkbook();
String file = "D:/sample.xlsx";
FileOutputStream fos = new FileOutputStream(file);
workBook.write(fos);
fos.flush();
我已经通过下面的链接看起来有类似的问题,但我没有找到这里提出的答案作为新问题。
File Excel From Apache POI Cant Open by Ms Excel (corrupt)
答案 0 :(得分:4)
如果您尝试使用.xlsx扩展名创建Excel文件,则需要使用XSSFWorkbook。我建议阅读this以了解XSSFWorkbook和HSSFWorkbook对象之间的区别。
此外,您可以使用文档here来了解如何使用Apache POI创建新的Excel文件。
基本上,你会这样做:
Workbook wb = new XSSFWorkbook();
Sheet sheet1 = wb.createSheet("new sheet");
FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
wb.write(fileOut);
fileOut.close();