Я использую Apache POI 3.17
для создания xlsx
файлов и заполнения его данными из БД.Файл создается нормально, но когда я пытаюсь открыть его, я получаю сообщение об ошибке «несовместимый формат», хотя при проверке файла я вижу, что это файл электронной таблицы Microsoft.Я посмотрел на здесь , здесь и здесь и перепробовал все эти примеры, но это не помогло, и я не знаю, в чем проблема.Вот мой код создания файла:
File excelFile = new File("C:\\myFile.xlsx"); //a new file to be created
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(rowIndex);
Cell cell;
//some font and style creation
for(String eachHeader : headers) {
cell = row.createCell(cellIndex);
cell.setCellValue(eachHeader);
cell.setCellStyle(headerStyle);
cellIndex++;
}
//some more row and cell creation
try {
//finally try to write all this content into the excel file
OutputStream out = new FileOutputStream(excelFile);
workbook.write(out);
out.close();
logger.debug("Worksheet created: " + excelFile.getAbsolutePath());
}catch(Exception exc) {
logger.error("Error occured while creating or writing to the excel file: " + exc.getMessage());
}
Опять же, файл создан нормально с некоторыми данными в нем, так как я вижу, что размер не равен 0, но просто не могу его открыть, почему ??