Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задачка по импорту из Excel в ColdFusion / 6 сообщений из 6, страница 1 из 1
08.06.2011, 20:47
    #37301291
mumbayi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка по импорту из Excel в ColdFusion
Всем привет!

Вроде бы отдельного форума по ColdFusion нет - написал сюда - может кто разбирается в сием языке...
Есть задача импорта записей из экселевского файла(15000 записей * 100 колонок) в <cfquery> объект

К EXCEL-файлу коннектюсь с помощью вот этой штуки - HSSFWorkbook

Делаю все в цикле - то есть порциями по 500-700 записей, иначе сервер загибается. Но даже при обработке порциями памяти все равно жрет очень много(там просто кроме самой записи в query еще валидация данных идет).

Так вот собственно вопрос: может кто посоветует каким образом можно освобождать память в рантайме или как-то оптимизировать использование ресурсов сервера во время выполнения *.cfm - скрипта. В принципе, на английском что-то похожее встречал, но хотелось бы на русском, т. к. не очень силен в аглицком.

А, еще вспомнил - время обработки не главное - главное, чтобы скрипт просто отработал и успешно завершился.
...
Рейтинг: 0 / 0
08.06.2011, 22:26
    #37301421
С0ВЕСТЬ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка по импорту из Excel в ColdFusion
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<cfoutput>
<cffile action="read" file="#ExpandPath('data-import.xml')#" variable="xmlImport" />

<cfset xmlImport = XmlParse(xmlImport) />

<cfset aRowNodes = xmlImport.Workbook.Worksheet.Table.XmlChildren />

<!--- Set up the Column names in the Workbook --->
<cfset lstColumns = 'CATEGORY,SKU,TITLE,DESCRIPTION,PRICE' />

<cfset qryExcel = QueryNew(lstColumns) />

<cfloop from="1" to="#ArrayLen(aRowNodes)#" index="index">
  <cfif aRowNodes[index].XmlName eq "Row">
    <cfif ArrayLen(aRowNodes[index].XmlChildren) eq ListLen(lstColumns)>
      <cfset QueryAddRow(qryExcel) />

      <cfloop from="1" to="#ListLen(lstColumns)#" index="colindex">
        <cfset colname = ListGetAt(lstColumns, colindex) />
        <cfif ArrayLen(aRowNodes[index].XmlChildren) gte colindex And ArrayLen(aRowNodes[index].XmlChildren[colindex].XmlChildren) neq  0 >
          <cftry>
            <cfset QuerySetCell(qryExcel, colname, aRowNodes[index].XmlChildren[colindex].XmlChildren[ 1 ].XmlText) />
            <cfcatch>
              <cfdump var="#aRowNodes[index]#" />
              <cfdump var="#cfcatch#" />
              <cfset QuerySetCell(qryExcel, colname, "") />
            </cfcatch>
          </cftry>
        <cfelse>
          <!--- blank node --->
          <cfset QuerySetCell(qryExcel, colname, "") />
        </cfif>
      </cfloop>    
    </cfif>
  </cfif>
  
</cfloop>
...
Рейтинг: 0 / 0
08.06.2011, 22:42
    #37301440
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка по импорту из Excel в ColdFusion
С0ВЕСТЬ,

Ух ты! А ты чё, этот самый колдфашын знаешь?
Это же было ещё в прошлом тысячелетии. Может, расскажешь чего?
...
Рейтинг: 0 / 0
08.06.2011, 23:07
    #37301469
С0ВЕСТЬ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка по импорту из Excel в ColdFusion
ShSergeС0ВЕСТЬ,

Ух ты! А ты чё, этот самый колдфашын знаешь?
Это же было ещё в прошлом тысячелетии. Может, расскажешь чего?

Знакомый подсказал
...
Рейтинг: 0 / 0
09.06.2011, 12:26
    #37302240
mumbayi
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка по импорту из Excel в ColdFusion
С0ВЕСТЬ,

Ооооооо! Сенк ю вери мачч!
Прикольно что на просторах бывшего нерушимого еще кто-то лячкает на "холодном синтезе" :))

Сча буду разбираться как оно пашет...
...
Рейтинг: 0 / 0
09.06.2011, 12:47
    #37302286
С0ВЕСТЬ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Задачка по импорту из Excel в ColdFusion
пожалуйста.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Задачка по импорту из Excel в ColdFusion / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]