-
Krants © (16.06.07 17:22) [0]по сабжу, требуется экспортировать таблицу больших размеров... Делаю так, создаю таблицу в N-столбцов и одну сторку, форматирую таблицу(т.к. после импорта формат будет происходить очн. долго)
Произвожу вставку таблицы:
W.Selection.MoveDown;
W.Selection.MoveDown;
W.Selection.PasteAndFormat(0);
-аналог вставки таблицы в ворде, когда курсор находится под таблицей.
Заранее отрубаю всякую всячину:
CODE> W.Options.CheckSpellingAsYouType:=False;
W.Options.CheckGrammarAsYouType:=False;
В итоге импорт происходит на 1000 строк(4 столбца) за 50-60 сек. Но и это тож неустраивает...
Что можете посоветовать для оптимизации подобного метода, либо кто знает получше, посоветуйте плз. -
имя(16.06.07 17:27) [1]Удалено модератором
Примечание: дубль -
YurikGL © (17.06.07 21:04) [2]
-
Krants © (18.06.07 11:47) [3]
> YurikGL © (17.06.07 21:04) [2]
> http://www.delphimaster.ru/articles/dbtoword/index.html
Когда-то читал эту статью...
Метод создания таблицы достаточно высок, но сам метод экспорта имеет один огромный недостаток - формат таблицы происходит после ее создания. В итоге форматирование происходит в несколько раз дольше чем сам экспорт.
А если таблица имеет тыс. пятьдесят записей, то форматирование затянется на несколько часов... -
YurikGL © (18.06.07 21:59) [4]Если в документе содержится только таблица, может попробовать формировать файл XML ?
-
Krants © (19.06.07 10:19) [5]
> YurikGL © (18.06.07 21:59) [4]
в большинстве случаях надо в формате ворда, создается реестр(иногда очень огромный) и исп. начиная с печати, заканчивая юр. документами. Так что альтернативные методы пока не рассматриваю, т.к. есть один удовлетворяющий все требования... -
YurikGL © (19.06.07 20:01) [6]
> в большинстве случаях надо в формате ворда, создается реестр(иногда
> очень огромный) и исп. начиная с печати, заканчивая юр.
> документами. Так что альтернативные методы пока не рассматриваю,
> т.к. есть один удовлетворяющий все требования...
Окрываешь ворд, создаешь там документ, говоришь "сохранить как", выбираешь там xml, потом смотришь этот xml блокнотом... Такой же xml-документ можно создать из Delphi и открывать его во Word-е -
Krants © (20.06.07 11:17) [7]
> Окрываешь ворд, создаешь там документ, говоришь "сохранить
> как", выбираешь там xml, потом смотришь этот xml блокнотом.
> .. Такой же xml-документ можно создать из Delphi и открывать
> его во Word-е
Можно и просто пользоватся экселем... Проблема не в варианте создания таблицы, а в быстром создании форматированой таблицы. -
YurikGL © (20.06.07 21:13) [8]
> Проблема не в варианте создания таблицы, а в быстром создании
> форматированой таблицы.
Описанным мною способом можно быстро создать форматированную таблицу.
Пример можно скачать здесь http://kladovka.net.ru/index.cgi?pid=board&rid=363 -
Krants © (21.06.07 13:31) [9]
> Описанным мною способом можно быстро создать форматированную
> таблицу.
> Пример можно скачать здесь http://kladovka.net.ru/index.
> cgi?pid=board&rid=363
интересные методы, но все же неподойдет, при исп. подобных(ХML,html) пересохранений теряется часть форматирования(имеющихся в доковких таблицах и не им. в др. форматах файлов)...
По поводу Экспорт через ADO, то есть еще один мочный способ с применением TADOCommand:
ADOCommand.CommandText := 'Select ' + FieldNames + ' INTO ' + '[' +
SheetName + ']' + ' IN ' + '\"' + FileName + '\"' + '[' + IsamFormat +
';]' + ' From ' + TableName;
ADOCommand.Execute;
- из ДелфиВорлд -
имя(15.09.09 13:21) [10]Удалено модератором