0
try {
File file = new File("file4.xls");
if (!file.exists()) file.createNewFile();
FileInputStream fis = new FileInputStream(file);
POIFSFileSystem fileSystem = new POIFSFileSystem(fis);
// FileInputStream fis = new FileInputStream(file);
HSSFWorkbook workbook = new HSSFWorkbook(fileSystem);
//Sheet sheet = workbook.createSheet("sheet0");
Sheet sheet = workbook.getSheet("sheet1");
sheet.createRow(0).createCell(0).setCellValue("HelloWorld");
Cell cell = sheet.createRow(1).createCell(0);
cell.setCellValue("Value_1_1");
fis.close();
FileOutputStream fos = new FileOutputStream(file);
workbook.write(fos);
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
我想創建簡單的使用java的excel文件。我收到上面提到的錯誤。NotOLE2FileException:無效的標頭簽名;讀取0x0000000000000000,預計0xE11AB1A1E011CFD0 - 文件似乎不是一個有效的OLE2文件
該文件是否存在?如果沒有,你自己創建它,然後它不是一個Excel文件。 – RealSkeptic
你可以試用Apache POI 3.14嗎?這改善了一些破損文件的錯誤信息 – Gagravarr
我通過避免使用file.createNewFile()來解決這個問題。感謝RealSkeptic –