想要輸出內容到excel速度比較快,有幾個竅門:
1、在輸出資料前將excel的頁面重新整理關閉,資料輸出結束後再開啟頁面重新整理。例如:
var//輸出內容。
2、減少excel中物件的深層次引用。比如不要多次的用
3、定義區域一次設定一次填充。修改excel中區域的格式或者填充大片區域時可以使用陣列方式一次操作,將一個區域定義成range,將需要填充的資料定義成和range行列對應的二維陣列,然後直接填充,不要單個單元格一個一個的移位填充。例如:
varldataarray :variant;
lcell1,lcell2,larrayrange :excelrange;
//定義二維陣列
ldataarray := vararraycreate([0, lrow, 0, lcol-1], varvariant);
//填充二維陣列資料
for i :=0 to lrow do
for j :=0 to lcol-1 do
ldataarray[i,j] := adata.data[i][j+1];
//定義區域
lcell1 := adata.topointrange.offset[0,1];
lcell2 := adata.topointrange.offset[lrow,lcol];
//設定格式
larrayrange.numberformat:='###,###,##0.000';
//整個區域填充
larrayrange.formula := ldataarray;
range := ws.range[ws.cells[1, 1], ws.cells[irowcount + 1, icolcount+1]];
range.value := data;
range.columns.autofit;