Конференция "Corba" » быстрый экспорт в Word
 
  • 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]
    Удалено модератором
 
Конференция "Corba" » быстрый экспорт в Word
Есть новые Нет новых   [118449   +37][b:0][p:0.001]