ниже все, что я испытываю и тестирует: < /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