Inoltre non capisco perché spezzettando le scritture non riesco a creare xls capienti come Matlab... Ecco il codice:
Double[][] datiLim = new Double[100000][100];
for (int i = 0; i < datiLim.length; i++) {
for (int j = 0; j < datiLim[0].length; j++) {
datiLim[i][j] = (double) (i-j);
}
}
int x = 0;
Double[][] a = new Double[10000][100];
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[0].length; j++) {
a[i][j] = datiLim[i][j];
}
}
x = x + a.length;
xlswrite("superfoglio.xlsx", a);
a = new Double[1][1];
Double[][] b = new Double[10000][100];
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b[0].length; j++) {
b[i][j] = datiLim[i+x][j];
}
}
xlswrite("superfoglio.xlsx", b,x,0,true);
x = x + b.length;
b = new Double[1][1];
Double[][] c = new Double[10000][100];
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[0].length; j++) {
c[i][j] = datiLim[i+x][j];
}
}
xlswrite("superfoglio.xlsx", c,x,0,true);
x = x + c.length;
c = new Double[1][1];
Double[][] d = new Double[10000][100];
for (int i = 0; i < d.length; i++) {
for (int j = 0; j < d[0].length; j++) {
d[i][j] = datiLim[i+x][j];
}
}
xlswrite("superfoglio.xlsx", d,x,0,true);
x = x + d.length;
d = new Double[1][1];
In teoria dopo ogni scrittura dovrebbe liberare memoria ma non è così... credo che apache poi carichi ogni volta in memoria il contenuto del file .xls...