Я лично никогда не уважал стандартную отчетность в клаше.
Генерю текстовые формы отчетов в RTF на основании бланков, с использование в виде редактора TextControl.
Либо генерю табличные формы отчетов на основании бланков с помощью ActiveX Formula One.
Последние можно сохранять в Excel, правда если таблица большая может и не сохраниться.
А вообще IKSoft дал дельный совет генерить Excel файлы в XML формате. Если еще генерить на основе бланков,
то генерация будет очень быстрой. Проблемма останется одна - чем открыть/редактировать. Formula One в данном
смысле мечта - мег с небольшим, альтернативы не нашел.
Easy Excel
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Посетитель
- Сообщения: 49
- Зарегистрирован: 30 Декабрь 2005, 0:06
Re: Easy Excel
Предлагаю попробовать следующее:
Завести переменную типа CSTRING достаточного размера, чтобы в нее поместилась вся строка с данными
Например, в ReformatM Routine заменить вывод в отдельные ячейки на
MyLongCstring = Left(Clip(L:W)) &'<9>'& Left(Clip(L:X)) &'<9>'& Left(Clip(L:L))..... ! формирование строки с данными по ячейкам, разделенными тьабуляцией
EXLClass.Write(R,6, MyLongCstring) вывести всю строку целиком
Кстати - непонятно зачем делать LEFT, если в рутине ClaFormatM Routine, где заполняются переменные, пробелов слева вроде нет.
Да и если использовать тип CSTRING,то и Clip не нужен
Думаю, скорость возрастет
Завести переменную типа CSTRING достаточного размера, чтобы в нее поместилась вся строка с данными
Например, в ReformatM Routine заменить вывод в отдельные ячейки на
MyLongCstring = Left(Clip(L:W)) &'<9>'& Left(Clip(L:X)) &'<9>'& Left(Clip(L:L))..... ! формирование строки с данными по ячейкам, разделенными тьабуляцией
EXLClass.Write(R,6, MyLongCstring) вывести всю строку целиком
Кстати - непонятно зачем делать LEFT, если в рутине ClaFormatM Routine, где заполняются переменные, пробелов слева вроде нет.
Да и если использовать тип CSTRING,то и Clip не нужен
Думаю, скорость возрастет
-
- Бывалый
- Сообщения: 95
- Зарегистрирован: 09 Декабрь 2005, 10:47
- Откуда: Tbilisi, Georgia
- Контактная информация:
Re: Easy Excel
В итоге когда запускаеться программа на выртуальном машине тогда вклучается тормоза. Но не ясно почему. не имеет значение сколбко выделенно RAM (2,4,16,32) и даже количество ядра (4,6,8,256
)
Tuko_G


Tuko_G