我正在尝试处理传统ASP中的大量数组,但我已达到极限....
实际上,我需要一个(70 x Sheets,10000 Rows,200 Columns)数组来准备XML电子表格和PDF文档。
我尝试过嵌套字典对象(见下文),但它们痛苦慢。
任何建议都会非常感谢.....
此致
保
使用字典对象: -
Dim HugeArray = CreateObject("Scripting.Dictionary")
Sub AddCell(x,y,z,aText)
Dim NewCol
if not HugeArray.exists(x) then
set NewCol = CreateObject("Scripting.Dictionary")
HugeArray.Add x,NewCol
set NewCol = nothing
end if
if not HugeArray(x).exists(y) then
set NewCol = CreateObject("Scripting.Dictionary")
HugeArray(x).Add y,NewCol
set NewCol = nothing
end if
if HugeArray(x).Exists(y) then
set y=HugeArray(x)(y)
if not y.Exists(z) then
y.Add z,aText
else
y(z)=aText
end if
end if
End Sub
Function GetCell(x,y,z)
Dim a
GetCell=""
if HugeArray(x).Exists(y) then
set a=HugeArray(x)(y)
GetCell=a(z)
end if
End Function
答案 0 :(得分:0)
只是一个想法:你有没有尝试过使用json对象?见Homepage of Json 我认为大小的限制是你的网络服务器的记忆。
答案 1 :(得分:0)
你是否尝试过excel对象,也许它是针对常春藤负载进行优化的 加载数组后,在“准备XML电子表格和PDF文档”之前,您需要做什么?分类?为什么需要阵列?你不能保存到db上的临时表并在那里做所有脏工作吗?
答案 2 :(得分:0)
我以为我会分享我最后做的事情......
随着应用程序在生成数据的过程中,我将所有数据都输入到临时表中。
每个单元格都标有Web服务器会话ID和今天的日期。最后,我查询了DB以获取生成报告所需的单元格。
每次登录服务器都会删除所有行<今天的日期(以防止它成长)
不一定是最干净的解决方案,但它确实有效。