在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的效率。