Как создать ОГРОМНЫЙ многомерный массив в традиционном ASP - PullRequest
0 голосов
/ 12 апреля 2011

Я пытаюсь обработать массивный массив в традиционном ASP, но достигаю пределов ....

По сути, мне нужен массив (70 листов, 10000 строк, 200 столбцов), чтобыподготовьте электронную таблицу 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

Ответы [ 3 ]

0 голосов
/ 14 апреля 2011

вы пробовали объект Excel, возможно, он оптимизирован для тяжелой нагрузки.
что нужно сделать после загрузки массива и до «подготовки таблицы XML и документа PDF»? Сортировать? зачем нужен массив? вы не можете сохранить во временную таблицу на БД и выполнять всю грязную работу там?

0 голосов
/ 23 апреля 2013

Просто подумал, что поделюсь тем, что я сделал в конце ....

Я подал все данные в SQL Server во временную таблицу по мере того, как приложение генерировало данные.

Каждая ячейка была помечена идентификатором сеанса веб-сервера и текущей датой. В конце я запросил в БД ячейки, необходимые для создания отчета.

При каждом новом входе на сервер все строки будут отбрасываться <сегодняшняя дата (чтобы она не росла) </p>

Не обязательно самое чистое решение, но оно работает.

0 голосов
/ 12 апреля 2011

просто идея: вы когда-нибудь пытались использовать объект json?См. Домашняя страница Json И я думаю, что предел размера - это память вашего веб-сервера.

...