Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 069

/ вопрос решён /

Приветствую, уважаемые эксперты!Не могу решить одну задачу.Беда в том, что необходимо перенести данные из таблицы, созданной в Delphi в Excel. Сами данные я смог перенести но вот не могу перенести названия столбцов таблицы в Excel. Вот код, который смог написать, подскажите чего надо добавить?????

Приложение:
  1. var
  2. XL, XArr: Variant;
  3. k: Integer;
  4. n: Integer;
  5. begin
  6. XArr:=VarArrayCreate([1,Table1.FieldCount],varVariant);
  7. XL:=CreateOLEObject('Excel.Application');
  8. XL.WorkBooks.add;
  9. XL.visible:=true;
  10. n := 1;
  11. Table1.First;
  12. while not Table1.Eof do
  13. begin
  14. k:=1;
  15. while k<=Table1.FieldCount do
  16. begin
  17. XArr[k] := Table1.Fields[k-1].Value;
  18. k := k+1;
  19. end;
  20. XL.Range['A'+IntToStr(n),
  21. CHR(64+Table1.FieldCount)+IntToStr(n)].Value := XArr;
  22. Table1.Next;
  23. n:=n+1;
  24. end;
  25. XL.Range['A1',CHR(64+Table1.FieldCount)+IntToStr(n)].select;
  26. // XL.cells.select;
  27. XL.Selection.Font.Name:='Arial cur';
  28. XL.Selection.Font.Size:=10;
  29. XL.selection.Columns.AutoFit;
  30. XL.Range['A1','A1'].select;
  31. end;


Анучин Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: Анучин (статус: Посетитель)
Вопрос отправлен: 6 марта 2011, 03:49
Состояние вопроса: решён, ответов: 1.

Ответ #1. Отвечает эксперт: Шичко Игорь

Здравствуйте, Анучин!
Наверное, где-то так:
Создать массив для названий полей.
Считать имена полей при помощи Table1.Fields[k-1].FieldName
Примерные наброски - в приложении.
Удачи.

Приложение:
  1. var
  2. XL, XArr, XField: Variant;
  3. ...
  4.  
  5. begin
  6. ...
  7.  
  8.  
  9. ...
  10. k:=1;
  11. while k<=Table1.FieldCount do
  12. begin
  13.  
  14. k := k+1;
  15. end;
  16.  
  17.  
  18.  
  19. ...
  20.  


Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Время отправки: 6 марта 2011, 12:14
Оценка за ответ: 4


Мини-форум вопроса

Всего сообщений: 0.

6 марта 2011, 18:07: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » COM, ActiveX и взаимодействие с другими приложениями модератором Ерёмин А.А.

6 марта 2011, 22:01: Статус вопроса изменён на решённый (изменил автор вопроса — Анучин)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:54
Выполнено за 0.02 сек.