Файл xlsx, созданный с помощью apache poi, открыть нельзя - PullRequest
0 голосов
/ 09 октября 2018

Я использую 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, но просто не могу его открыть, почему ??

...