Je veux créer un document Excel avec 5 feuilles, les données pour les feuilles sont dynamiques et j'ai une limite de ligne maximale. Actuellement, mon approche consiste à créer une feuille à la fois et à la remplir de données. Je vérifie si les lignes max ont été dépassées et crée un nouveau document Excel. Cependant, cela ne sera pas attendre pour vérifier si les autres feuilles dépassent aussi la limite de la ligne max avant de créer le nouveau classeurCréation d'un fichier Excel supplémentaire en utilisant java et POIExcel Util si les lignes max ont été dépassées
Mes exemples de code
private void populateDetailsSheets(String[] data) throws IOException
{
currentRow = getCurrentRow();
rowCount++;
short cellNumber = 0;
for (String value : data)
{
POIExcelUtil.createCellWithContent(currentRow,value,cellNumber++).setCellStyle(contentStyle);
}
writeToFileOnExhaustingMaxRows();
}
private void writeToFileOnExhaustingMaxRows() throws IOException
{
if(sheet.getLastRowNum() + 2 > Integer.valueOf(SystemProperty.MAX_RECORDS_PER_EXCEL))
{
writeToFile();
rowCount = 0;
createWorkbook();
titleStyle = createTitleStyle();
headerStyle = createHeaderStyle();
columnHeaderStyle = createColumnHeaderStyle();
columnHeaderStyle.setBorderLeft(CellStyle.BORDER_MEDIUM);
columnHeaderStyle.setBorderTop(CellStyle.BORDER_MEDIUM);
columnHeaderStyle.setBorderRight(CellStyle.BORDER_MEDIUM);
columnHeaderStyle.setBorderBottom(CellStyle.BORDER_MEDIUM);
contentStyle = createCellStyle();
contentStyle.setBorderLeft(CellStyle.BORDER_THIN);
contentStyle.setBorderTop(CellStyle.BORDER_THIN);
contentStyle.setBorderRight(CellStyle.BORDER_THIN);
contentStyle.setBorderBottom(CellStyle.BORDER_THIN);
rowCount = 0;
createSheet("title sheet");
populateReportSettingsSheet();
rowCount =0;
createSheet(sheetNames[index]);
setColumnWidth();
createColumnHeader();
}
}
Je veux attendre que toutes mes 4 feuilles aient été créées et remplies avant de prendre soin des lignes supplémentaires dans la première feuille –