Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.11.2010, 16:21   #1
tantema
Пользователь
 
Аватар для tantema
 
Регистрация: 05.11.2010
Сообщений: 10
Восклицание Как создать отчет в Excel

В данном коде нет ни одной ошибки, но при запуске программы выдается ошибка
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, comobj;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  XLApp,Sheet,Colum:variant;
  index,i:integer;

begin
  XLApp:=CreateOleObject('Excel.Application');
  XLApp.Visible:=true;
  XLApp.Workbooks.Add(-4167);
  Colum:=XLApp.Workbooks[1].WorkSheet['Лист1'].Columns;
  Colum.Columns[1].ColumnWidth:=20;
  Colum.Columns[2].ColumnWidth:=20;
  Colum.Columns[3].ColumnWidth:=20;
  Colum.Columns[4].ColumnWidth:=20;
  Colum.Columns[5].ColumnWidth:=20;
  Colum.Columns[6].ColumnWidth:=20;
  Colum.Columns[7].ColumnWidth:=20;
  Colum:=XLApp.Workbooks[1].WorkSheet['Лист1'].Rows;
  Sheet:=XLApp.Workbooks[1].WorkSheet['Лист1'];
  Sheet.Cells[1,1]:='Порядковый № партии';
  Sheet.Cells[1,2]:='№ маршрута';
  Sheet.Cells[1,3]:='№ цеха/участка';
  Sheet.Cells[1,4]:='Наименование детали';
  Sheet.Cells[1,5]:='Обозначение детали';
  Sheet.Cells[1,6]:='Масса детали';
  Sheet.Cells[1,7]:='Код материала';
  index:=2;
  Form1.ADOTable1.First;
  for i:=0 to Form1.ADOTable1.RecordCount-1 do
    begin
      Sheet.Cells[index,1]:=Form1.ADOTable1.Fields.Fields[2].AsString;
      Sheet.Cells[index,2]:=Form1.ADOTable1.Fields.Fields[3].AsString;
      Sheet.Cells[index,3]:=Form1.ADOTable1.Fields.Fields[4].AsString;
      Sheet.Cells[index,4]:=Form1.ADOTable1.Fields.Fields[5].AsString;
      Sheet.Cells[index,5]:=Form1.ADOTable1.Fields.Fields[6].AsString;
      Sheet.Cells[index,6]:=Form1.ADOTable1.Fields.Fields[7].AsString;
      Sheet.Cells[index,7]:=Form1.ADOTable1.Fields.Fields[8].AsString;
      inc(index);
      Form1.ADOTable1.Next;
    end;
end;

end.
В чем тогда ошибка? И как все-таки создать этот отчет?
tantema вне форума Ответить с цитированием
Старый 05.11.2010, 16:55   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Вы уж нас простите, мы сами не местные, и все телепаты у нас в отпуске...
Посему не можем угадать, какая там у вас
Цитата:
при запуске программы выдается ошибка
Тем более, что вы дали гарантию, что
Цитата:
В данном коде нет ни одной ошибки
mihali4 вне форума Ответить с цитированием
Старый 05.11.2010, 17:15   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Цитата:
Сообщение от tantema Посмотреть сообщение
И как все-таки создать этот отчет?
Чтобы перегнать данные из таблицы БД в таблицу книги Экселя, я бы лично использовал компоненты DbGrid и JvDBGridExcelExport... Никаких заморочек с серверами автоматизации, открытием, сохранением и закрытием книг Экселя...
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 05.11.2010 в 17:17.
Grag вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу создать отчет. GBAXA Общие вопросы Delphi 6 30.06.2010 10:28
Отчет в Excel Explosion БД в Delphi 5 12.06.2010 19:21
как создать кнопку в форме, которая будет создавать отчет Tatu Microsoft Office Access 3 04.03.2010 19:13