Модераторы: MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Содержимое Table скинуть в Excel 2003, Delphi 7 (пример из фака не пашет) 
:(
    Опции темы
Satana
Дата 12.11.2004, 22:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: нет
Всего: 5



Jey_k А что делать? Придется писать запросы вида DataModule2.SQLDataSet1.FieldByName('some_field').asstring; и пихать их в ексель


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Jey_k
Дата 13.11.2004, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Неужели никак нельзя реализовать следущее:

Цикл пока не конец таблицы
Цикл к от 1 до количества полей
Экселевская ячейка=значение поля(к)
конец цикла
конец цикла


--------------------
PM MAIL WWW   Вверх
Satana
Дата 13.11.2004, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: нет
Всего: 5



Jey_k Конечно можно, я делал ет так:
Код

SQLDataSet1.CommandText:='SQL запрос';
SQLDataSet1.Open;
 while not SQLDataSet1.Eof do
    begin
        WB.cell[1,i]:=SQLDataSet1.FieldByName('Field_1').As<SomeType>;
        WB.cell[2,i]:=SQLDataSet1.FieldByName('Field_2').As<SomeType>;
...
        WB.cell[n,i]:=SQLDataSet1.FieldByName('Field_n').As<SomeType>;
        inc(i);
    end;

Писал не из дельфей, но должно работать...

Это сообщение отредактировал(а) Satana - 13.11.2004, 13:10


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Pakshin A. S.
Дата 13.11.2004, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 2
Всего: 61



Может поможет:
Код

...
    Excel.Visible:=False;
    Wb := Excel.WorkBooks.Add(1);
    Ws := Wb.WorkSheets[1];
    p:=Table1.GetBookmark;
    Table1.First;
    for i:=0 to Table1.FieldCount-1 do
     Ws.Cells[1,i+1]:=Table1.Fields[i].DisplayLabel;
    j:=2;
    while not Table1.Eof do
     begin
      for i:=0 to Table1.FieldCount-1 do
        Ws.Cells[j, i+1] := Table1.Fields[i].AsVariant;
      Table1.Next;
      inc(j);
     end;
    Table1.GotoBookmark(p);
    Table1.FreeBookmark(p);
    Excel.Visible := True;
   finally
    Excel := Unassigned;
    Excel := null;
   end;

PM   Вверх
Jey_k
Дата 13.11.2004, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Pakshin A. S.
Благодарю, помогло, все работает. Правда медленно, 10000 полей прога минут пять если не больше скидыват в Эксель будет.

Еще вот вопрос
Цитата
Excel.WorkBooks.Open(OpenDialog1.FileName); //Загружаем книгу


Это мы используем готовую книгу, а создать как если там ее нету?


--------------------
PM MAIL WWW   Вверх
Pakshin A. S.
Дата 13.11.2004, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 2
Всего: 61



Как мне объясняли, медленная работа - один из недостатков этого метода работы с Office...

Про книгу:
1) Для начала создали уже известным способом документ и сохранили его... потом уже можем открывать.
2) Если компонентик F1BOOK - нечто, типа Excel, даже то же самое.... smile Правда, работать не очень приятно....
PM   Вверх
<Spawn>
Дата 13.11.2004, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: нет
Всего: 64



Попробуй
Код

Excel.WorkBooks.Add



--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Jey_k
Дата 13.11.2004, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



<Spawn>
В качестве параметра имя файла?


--------------------
PM MAIL WWW   Вверх
Satana
Дата 16.11.2004, 13:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: нет
Всего: 5



Jey_k Чтобы быстро работало могу посоветовать использовать компоненту xlReport от Afalina Soft лично я в данный момент на нем остановился потому что он меня и по скорости и по простоте устраивает, но тебе потребуется лабать шаблоны...


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Jey_k
Дата 16.11.2004, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Satana
Наверное это лишним не будет. Припости если не трудно.


--------------------
PM MAIL WWW   Вверх
Satana
Дата 16.11.2004, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 564
Регистрация: 15.9.2004
Где: Ставрополь, СЗ ра йон

Репутация: нет
Всего: 5



Не совсем понял чего припостить то? Если нада могу тебе по почте переслать крякнутый только тогда в личку мыло свое дай...


--------------------
 Работай на себя 
www.abalentsev.com - Сайт портфолио.
www.pokushau.ru - Рецепты со всего мира.
PM MAIL WWW ICQ   Вверх
Akella
Дата 7.12.2004, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 2
Всего: 329



http://forum.vingrad.ru/index.php?act=Sear...&highlite=excel

поищи по форуму в разных темах
Добавлено @ 10:12
я писал под Excel XP, после того, как скопировал программу на комп с Excel 2003 все также прекрасно работало smile
PM MAIL   Вверх
Jey_k
Дата 19.12.2004, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

Репутация: нет
Всего: 61



Спасибо всем. Все получилось.


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0863 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.