Apache Poi 5.4.1 - кажется, создает слишком много временного файла при создании листа Excel, что приводит к слишком больApache

Ответить Пред. темаСлед. тема
Anonymous
 Apache Poi 5.4.1 - кажется, создает слишком много временного файла при создании листа Excel, что приводит к слишком боль

Сообщение Anonymous »

Это просто для того, чтобы увидеть, столкнулся ли кто -нибудь, что Apache POI версия 5.4.1 (последняя версия на момент написания этого). Вот моя ситуация - я стараюсь создать простую функциональность для моего приложения, которое генерирует отчет Excel (только 1 лист, и не имеет графических или модных функций) в основном только текст и цифры. Когда я развертываю в своем поле Linux, чтобы запустить его - я всегда получаю ошибку: «Слишком много файлов откроется» - каждый раз, когда я нажимаю на кнопку «Создать» (опять же, это происходит только в том случае, если я нажимаю на кнопку «Создать», поэтому я думаю, что другие функции имеют какое -то отношение к этому). < /P>
ниже все, что я испытываю и тестирует: < /p>

. 4096 (я также проверил ограничение на процесс моего подачи заявления при запуске - и число составляет 4096).

У меня есть мой открытый файл, прежде чем я пытаюсь сгенерировать свой отчет (максимальное количество открытого файла, которое я мог видеть за один раз, - это 96 - мое приложение для загрузки для загрузки, чтобы это было для нас, чтобы это было для нас, чтобы это было для нас, чтобы это было для нас. /> Я протестировал в Windows, и приложение может генерировать отчет без какой -либо проблемы. Открывается при генерации отчета. Я постараюсь уменьшить количество ряда до 10 рядов -> и это работает. Но как только он достигнет 150 строк ->, то происходит слишком много файлов. Но я не делал ничего необычного или из обычного - просто создайте заголовок, дайте ему немного цвета фона и создаю строку данных после прихода. Или, если кто -нибудь знает, как Apache Poi создает временный файл, и он работает, и укажите мне в правильное место, это также поможет.

Код: Выделить всё

try (XSSFWorkbook workBook = new XSSFWorkbook();
OutputStream fos = Files.newOutputStream(Paths.get(filePath))
) {

XSSFSheet sheet = workBook.createSheet("Report");

CellStyle appHeaderCellStyle = workBook.createCellStyle();
CellStyle colHeaderCellStyle = workBook.createCellStyle();
Row appHeader = sheet.createRow((short)1);
Row rowHead = sheet.createRow((short)5);

Row reportDateRow = sheet.createRow((short)3);
Cell appCell = appHeader.createCell(0);
Cell reportDateCell = reportDateRow.createCell(0);
appCell.setCellValue(CONFIG_TITLE);
reportDateCell.setCellValue(REPORT_DATE);
reportDateRow.createCell(3).setCellValue(dateFormat.format(date));

sheet.addMergedRegion(new CellRangeAddress(1,2,0,9));
sheet.addMergedRegion(new CellRangeAddress(3,3,0,2));
sheet.addMergedRegion(new CellRangeAddress(3,3,3,9));

Font titleHeaderFont = workBook.createFont();
Font colHeaderFont = workBook.createFont();
CellStyle reportDateCellStyle = workBook.createCellStyle();

int i=0;
rowHead.setHeight((short) 400);

appHeaderCellStyle.setFont(setCellFont(titleHeaderFont,true));
colHeaderCellStyle.setFont(setCellFont(colHeaderFont, false));

for(String header : CONFIG_REPORT_LABELS){
Cell cell = rowHead.createCell(i++);
cell.setCellValue(header);
cell.setCellStyle(setCellStyles(colHeaderCellStyle));
}

appCell.setCellStyle(setCellStyles(appHeaderCellStyle));
reportDateCellStyle.setFont(setCellFont(colHeaderFont, false));
reportDateCell.setCellStyle(reportDateCellStyle);

int rowStart = 6;
for(Map map: list){
populateRowData(workBook,rowData, map);
rowStart++;
}

for(int columnIndex = 0; columnIndex < CONFIG_REPORT_LABELS.length; columnIndex++) {
sheet.autoSizeColumn(columnIndex);
}
}

private void populateRowData(Workbook workBook,Row rowData, Map map) throws Exception{
int j=0;

CellStyle rowStyle = workBook.createCellStyle();
Cell rowDataCell;

rowDataCell = rowData.createCell(j++);
rowDataCell.setCellValue(Double.parseDouble(map.get("CONFIG_ID")));
rowStyle.setAlignment(HorizontalAlignment.CENTER);
rowDataCell.setCellStyle(rowStyle);
rowData.setRowStyle(rowStyle);

...
}

Спасибо,

Подробнее здесь: https://stackoverflow.com/questions/795 ... el-sheet-w
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Apache»