我用 javascript 调用 ActiveXObject("Excel.Application") 实现导出excel 但是数据量太大只能每个单元格赋值,所以求一个javascript 导出大量数据excel的方法这是我写的方法 // var data = [][];
for (var i = 0; i < data.length; i++) {
for (var k = 0; k < data[i].length; k++) {
xlsSheet.Cells(i + hcount + 1, k + 1).Value2 = data[i][k];
}
}
一个一个单元格赋值很慢我用C#写过一个和二维数组赋值特别快
//string[,] dsource = new string[n,m];
xlsSheet.Range[ws.Cells[5, 1], ws.Cells[siteCount + 4, arrLength]].Value2 = dsource;
javascript 不支持二维数组 所以不能像C# 那样直接赋值
求解
for (var i = 0; i < data.length; i++) {
for (var k = 0; k < data[i].length; k++) {
xlsSheet.Cells(i + hcount + 1, k + 1).Value2 = data[i][k];
}
}
一个一个单元格赋值很慢我用C#写过一个和二维数组赋值特别快
//string[,] dsource = new string[n,m];
xlsSheet.Range[ws.Cells[5, 1], ws.Cells[siteCount + 4, arrLength]].Value2 = dsource;
javascript 不支持二维数组 所以不能像C# 那样直接赋值
求解
dim arr(9999,4)
for i=0 to 9999
for j = 0 to 4
arr(i,j)=i*j
next
next
set oXL = CreateObject("Excel.Application")
oXL.Visible = true
oXL.ScreenUpdating=false
set oWB = oXL.Workbooks.Add
set oSheet = oWB.ActiveSheet
set xlsheet = oWB.Worksheets(1)
for i=oWB.Worksheets.count to 2
oWB.Worksheets(i).Delete()
next
oSheet.Range("a1").resize(10000,5)=arr
oXL.ScreenUpdating=true
set oXL=nothing
</script>