Я лично никогда не уважал стандартную отчетность в клаше.
Генерю текстовые формы отчетов в RTF на основании бланков, с использование в виде редактора TextControl.
Либо генерю  табличные формы отчетов на основании бланков с помощью ActiveX Formula One.
Последние можно сохранять в Excel, правда если таблица большая может и не сохраниться.
А вообще IKSoft  дал дельный совет генерить Excel файлы в XML формате. Если еще генерить на основе бланков,
то генерация будет очень быстрой. Проблемма останется одна - чем открыть/редактировать. Formula One в данном
смысле мечта - мег с небольшим, альтернативы не нашел.
			
			
									
						Easy Excel
Модератор: Дед Пахом
					Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
	При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
- 
				Igor Vesnin
 - Посетитель
 - Сообщения: 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 не нужен
Думаю, скорость возрастет
- 
				Tuko_G
 - Бывалый
 - Сообщения: 95
 - Зарегистрирован: 09 Декабрь 2005, 10:47
 - Откуда: Tbilisi, Georgia
 - Контактная информация:
 
Re: Easy Excel
В итоге когда запускаеться программа на выртуальном машине тогда вклучается тормоза. Но не ясно почему. не имеет значение сколбко выделенно RAM (2,4,16,32) и даже количество ядра (4,6,8,256  
 )
 
 
Tuko_G
			
			
									
						Tuko_G
