Отказано в доступе при попытке создать файл Excel с помощью XSSFWorkbook на сервере AWS.Однако на localhost все работает нормально - PullRequest
0 голосов
/ 19 июня 2019

получая эту ошибку каждый раз на сервере AWS.Похоже, XSSFWorkbook пытается создать некоторую папку tmp, которая не разрешена для приложения в среде.Есть ли способ создать Excel другим способом?Изменение настроек сервера не вариант.


public File write(String fileName, List<String> columns){
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet(fileName.split("\\.")[0]);
        CellStyle cellStyle = getCellStyle(workbook);

        Row headerRow = sheet.createRow(0);

        for (int i = 0; i < columns.size(); i++) {
            Cell cell = headerRow.createCell(i);
            cell.setCellStyle(cellStyle);
            cell.setCellValue(columns.get(i));

            sheet.autoSizeColumn(i);
        }

        FileOutputStream fileOutputStream;
        try {
            File file = new File(fileName);
            fileOutputStream = new FileOutputStream(file);
            workbook.write(fileOutputStream);
            workbook.close();

            return file;
        } catch (IOException e) {
            throw new RuntimeException(e.getMessage());
        }
    }

    private CellStyle getCellStyle(Workbook workbook){
        CellStyle cellStyle = workbook.createCellStyle();
        cellStyle.setFont(getFont(workbook));

        return cellStyle;
    }

    private Font getFont(Workbook workbook) {
        Font font = workbook.createFont();
        font.setFontHeightInPoints((short) 14);
        font.setColor(IndexedColors.BLACK.getIndex());

        return font;
    }
```java
...