Я пытаюсь создать очень большой файл Excel с java jxl, размером более 20 ГБ, проблема в том, что когда я пытаюсь сделать цикл немного больше, чтобы генерировать больше строк, у меня появляется сообщение об ошибке
"jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceeded
at jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:975)
at jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:951)
at test2.Test2.main(Test2.java:66)
это мой код
try {
WritableWorkbook workbook = Workbook.createWorkbook(new File("sortie.xls"));
WritableSheet sheet = workbook.createSheet("Premier classeur", 0);
//Crée le format d’une cellule
WritableFont arial10font = new WritableFont(WritableFont.ARIAL, 12,WritableFont.BOLD, true, UnderlineStyle.NO_UNDERLINE,Colour.BLACK, ScriptStyle.NORMAL_SCRIPT);
WritableCellFormat arial10format = new WritableCellFormat(arial10font);
//Crée un label à la ligne 0, colonne 0 avec le format spécifique
for (int i = 0; i < 100000; i++) {
String chars = "abcdefghijklmnopqrstuvwxyz" ;
String chars2 ="azertyuiopqsdfghjklmwxcvbn" ;
String chars3 ="aqwzsxedcrfvtgbyhnujikolpm" ;
String pass = "";
String pass2 = "";
String pass3 = "";
int alava = 6 ;
for (int x = 0; x < alava; x++) {
int p = (int)Math.floor(Math.random()*26);
pass +=chars.charAt(p);
pass2 +=chars2.charAt(p);
pass3 +=chars3.charAt(p);
}
Label label = new Label(0, i, pass);
Label label2 = new Label(1, i, pass2);
Label label3 = new Label(2, i, pass3);
//Crée un label à la ligne 2, colonne 0 sans style prédéfini
//Label label2 = new Label(0, 2, "Résultat");
//Ajout des cellules
sheet.addCell(label);
sheet.addCell(label2);
sheet.addCell(label3);
}
//Ajout d’une cellule ligne 2, colonne 1
//Number number = new Number(1, 2, 3.1459);
//sheet.addCell(number);
//Ajout d’une image ligne 4, colonne 0
//Taille de l’image : 6 lignes et 2 colonnes
//WritableImage image = new WritableImage(0, 4, 2, 6,new File("Logo-Labo-Sun.png"));
//sheet.addImage(image);
//Ecriture et fermeture du classeur
workbook.write();
workbook.close();
} catch (RowsExceededException e1) {
e1.printStackTrace();
} catch (WriteException e1) {
e1.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
System.out.println("Le fichier \"sortie.xls\" à été généré correctement.");
}
// TODO code application logic here
}