попробуй, у меня всё работало безошибочно...
| Код | unit Unit1; interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, ComObj;
type TForm1 = class(TForm) Table1: TTable; DataSource1: TDataSource; DBGrid1: TDBGrid; Button1: TButton; Query1: TQuery; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var XL,Sheet: Variant; i: integer; begin Query1.Close; Query1.SQL.Clear; Query1.SQL.Add('select id,name from "D:\1.db"'); Query1.Open; XL:= CreateOleObject('Excel.Application'); XL.WorkBooks.Add; Sheet:= XL.ActiveWorkBook.Sheets[1]; Sheet.PageSetup.Orientation:= 2; //===Книжная ориентация=== Sheet.Name:= 'Лист № 1'; Sheet.Columns[1].ColumnWidth:= 5; Sheet.Columns[2].ColumnWidth:= 25; Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].HorizontalAlignment:= 3; Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].VerticalAlignment:= 2; Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].WrapText:= true; Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].Font.FontStyle:= 'Полужирный'; Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]].Merge(false); Sheet.Range[Sheet.Cells[2,1],Sheet.Cells[2,2]]:= 'Результаты'; Sheet.Cells[3,1]:= 'Код'; Sheet.Cells[3,1]:= 'Наименование'; i:= 4; Query1.First; while not Query1.Eof do begin Sheet.Cells[i,1]:= Query1.Fields[0].AsInteger; Sheet.Cells[i,2]:= Query1.Fields[1].AsString; inc(i); Query1.Next; end; XL.Visible:= true; Sheet:= UnAssigned; XL:= UnAssigned;
end;
end.
| |