在我的系统中,我有一个类可以用一些数据创建一个 excel。
基本上我从变量 ArrayList> 中读取所有 String 值并将它们写入 Excel 单元格中。
public void writeData(Data data, int sheetNumber)
throws EncryptedDocumentException, InvalidFormatException, IOException {
org.apache.poi.ss.usermodel.Workbook workbook;
try {
workbook = WorkbookFactory.create(new File(path));
} catch (FileNotFoundException e) {
workbook = new HSSFWorkbook();
}
org.apache.poi.ss.usermodel.Sheet sheet;
try {
sheet = workbook.createSheet("Sheet" + sheetNumber);
} catch (IllegalArgumentException e) {
sheet = workbook.getSheet("Sheet" + sheetNumber);
}
int dataListSize = data.getData().size();
for (int i = 0; i < dataListSize; i++) {
Row row = sheet.createRow(i);
int rowSize = data.getData().get(i).size(); …Run Code Online (Sandbox Code Playgroud) 我有一个 java 代码来创建一个 excel 文件,它适用于扩展名 .xls 和 .xlsx 我能够打开 .xls 文件但无法在 ms excel 中打开文件扩展名 .xlsx 并且它说Excel 无法打开'sample.xlsx' 文件,因为文件格式或文件扩展名无效。验证文件未损坏并且文件扩展名与文件格式匹配。
下面是我使用的java代码。
HSSFWorkbook workBook = new HSSFWorkbook();
String file = "D:/sample.xlsx";
FileOutputStream fos = new FileOutputStream(file);
workBook.write(fos);
fos.flush();
Run Code Online (Sandbox Code Playgroud)
我已经浏览了下面的链接,看起来有类似的问题,但我没有找到答案,所以在这里提出作为新问题。
来自 Apache POI 的 Excel 文件无法由 Excel 女士打开(损坏)