在JS中可以使用excel對象range賦值,但不能直接使用js的array,需要預先將js的數組轉換成二進制的dictionary纔可以。
通過如下函數可以轉換將JS的數組轉換成VB數組:
function toVBArray1(jarray) {
var dict1 = new ActiveXObject('Scripting.Dictionary');
for (var i = 0; i < jarray.length; i++) {
dict1.add(i, i);
}
return dict1.items();
}
通過列區域對excel賦值要使用transpose
var vbArray = toVBArray1(jarray);
excelSheet.cells(1, 1).resize(vbArray.length, 1).value = excelSheet.application.Transpose(avbArray);
使用區域賦值可以大幅的提高通過JS導出到Excel的效率。