Ср Июл 07, 2010 17:20  а чего делать если не хватает 32000
Полезность: Нет оценки
Коллеги доброе время суток, подскажите советом - формирую EXCEL файл и переменной для формирования скрипта не хватает... вроде бы и отчет не большой.. но не хватает...
elsif P_MESSAGE = 'VALIDATE' then
if P_INFO = 'OK' then
P_INFO := 'Печать в Excel';
end if;
if p_info = 'Печать в Excel' then
if EXCEL.F_Click then
createkvits(this);
excel.f_click := false;
end if;
If EXCEL.Exec_Script(V_EXCEL_STR) = 'DONE' Then
&debug('Вывод данных в excel завершен', 0)
End If;
end if;
end if;
Код:
function createkvits() return boolean
is
begin
--открываем шаблон
excel.open_file(''), false);
--Пишем что-то excel
excel.Write(2,1,'!!!');
--Сохраняем
excel.Save_As('');
--Показываем
excel.visible;
excel.release;
end;
В клиент-скрипте
Код:
Public Sub Exe
Do
Execute V_EXCEL_STR.Text
V_EXCEL_STR.Text = ""
Call Runtime.ServerValidate(PrintXL, "Печать в Excel")
Loop While V_EXCEL_STR.Text <> ""
End Sub
Public Function Main(LastControl)
If LastControl Is Nothing Then
' Действия при загрузке формы
Elseif LastControl Is Ok then
' Действия при потере фокуса валидируемого контрола LastControl
Do
Execute V_EXCEL_STR.Text
V_EXCEL_STR.Text = ""
Call Runtime.ServerValidate(PrintXL, "Печать в Excel")
Loop While V_EXCEL_STR.Text <> ""
End If
Main = True 'Результат валидатора (True, False, NULL)
End Function
VBScript-код который формируется, при createkvits(this) хранится не в V_EXCEL_STR, а в специальной таблице. EXCEL.Exec_Script(V_EXCEL_STR) вычитывает из таблицы логически завершенный кусок в переменную V_EXCEL_STR, и отдает на выполнение скрипту Execute V_EXCEL_STR.Text. Скрипт же в свою очередь снова дергает валидатор и т. д.
тоже столкнулись с данной проблемой. Имеем таблицу с 7000 записей.
Код пробегает по этим записям за 2 минуты, а вот вывод в Эксель занимает минут 20.
Коллеги, подскажите, пожалуйста, можно ли как ускорить выгрузку в эксель?
тоже столкнулись с данной проблемой. Имеем таблицу с 7000 записей.
Код пробегает по этим записям за 2 минуты, а вот вывод в Эксель занимает минут 20.
Коллеги, подскажите, пожалуйста, можно ли как ускорить выгрузку в эксель?
http://www.cftclub.ru/viewtopic.php?t=3403
В скором времени excel-файлы можно будет формировать на серверной стороне в формате OOXML и по скорости формирования больших файлов этот способ будет выигрывать значительно, так что просто немного подождите.
тоже столкнулись с данной проблемой. Имеем таблицу с 7000 записей.
Код пробегает по этим записям за 2 минуты, а вот вывод в Эксель занимает минут 20.
Коллеги, подскажите, пожалуйста, можно ли как ускорить выгрузку в эксель?
Используйте excel.Put и excel PrintArray;
вместо excel.write
тоже столкнулись с данной проблемой. Имеем таблицу с 7000 записей.
Код пробегает по этим записям за 2 минуты, а вот вывод в Эксель занимает минут 20.
Коллеги, подскажите, пожалуйста, можно ли как ускорить выгрузку в эксель?
Используйте excel.Put и excel PrintArray;
вместо excel.write
Спасибо большое. Ускорилось в разы. А такой вопрос - можно ли при этом использовать Excel.Border? Пробую - ячейки не прорисовывает!
Делал Excel.Border (...)
Excel.Print_Array и наоборот - не работает
Спасибо большое. Ускорилось в разы. А такой вопрос - можно ли при этом использовать Excel.Border? Пробую - ячейки не прорисовывает!
Делал Excel.Border (...)
Excel.Print_Array и наоборот - не работает
Попробуйте сначала
Excel.Print_Array
потом
Excel.Borders()
хотя есть и обратные примеры...
Например операция
Статистика по сообщениям в ФСФМ
Z$SEARCH_R_STAT
Печать справки о бухгалтерских документах, хранение которых осуществляется в электронном виде
Z$EARCHIVE_PRINT_REGISTR
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Домен cftclub.ru не связан с ЗАО "Центр Финансовых Технологий" и ни в коей мере не нарушает авторских и иных прав
Владелец может не разделять мнения Участников и не несет ответственности за их публикации
Powered by phpBB