怎么把数据导入excel中有报表样式的数据文件!
解决方案 »
- 读取ie默认主页代码 dephi-javascript
- 这段代码怎么编译通不过?
- 初学delphi 2个form的 问题
- 在退出程序时出错,是关于WSACleanup的
- vclsin 对 ActionMainMenuBar制作的菜单为什么没有效果?
- 100分求ftp服务器原代码
- 我想在开机时运行Microsoft Powerpoint,并且要打开指定的幻灯片文件并自动播放该幻灯片文件,要如何做?
- 谁有Delphi编的排班系统
- 各位大哥,如何判断一个edit输入的内容是否为合法的数字类型,有类似函数么?
- TTS还是不能调速度,这次我给100分
- 药品如何处理双单位问题?
- 如何动态改变Windows右下角程序图标?
var
i,row,column:integer;
begin
Try
ExcelApplication1.Connect;
Except
MessageDlg('Excel may not be installed',mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:='Excel Application';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);
ADOQuery1.Open;
row:=1;
While Not(ADOQuery1.Eof) do
begin
column:=1;
for i:=1 to ADOQuery1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column]:=ADOQuery1.fields[i-1].AsString;
column:=column+1;
end;
ADOQuery1.Next;
row:=row+1;
end;
end;供你参考
typeTForm1 = class(TForm)ADOQuery1: TADOQuery;Button1: TButton;procedure Button1Click(Sender: TObject);privateFExcelBook: TExcelWorkBook;FExcelSheet: TExcelWorkSheet;FExcelApp: TExcelApplication;procedure DataSetToExcel(AFileName: string);publicconstructor Create(AOwner: TComponent); override;destructor Destroy; override;{ Public declarations }end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.DataSetToExcel(AFileName: string);begintryFExcelApp.Visible[0] := False;tryFExcelBook.ConnectTo(FExcelApp.Workbooks.Add(EmptyParam, 0));exceptraise Exception.Create('连接到Excel文件出错,可能是没有安装Excel软件');end;FExcelSheet.ConnectTo(FExcelBook.Worksheets[1] as _WorkSheet);with FExcelSheet.QueryTables.Add(ADOQuery1.Recordset, FExcelSheet.Range['A3', EmptyParam], EmptyParam) dobeginFieldNames := False;Refresh(False);end;FExcelSheet.Columns.Item[3, EmptyParam].NumberFormatLocal := 'yyyy-mm-dd';FExcelBook.SaveCopyAs(AFileName);FExcelBook.Close(False);finallyFExcelApp.Quit;FExcelSheet.Disconnect;FExcelBook.Disconnect;FExcelApp.Disconnect;end;end;{ TForm1 }constructor TForm1.Create(AOwner: TComponent);begininherited;FExcelApp := TExcelApplication.Create(Self);FExcelBook := TExcelWorkBook.Create(Self);FExcelSheet := TExcelWorkSheet.Create(Self);end;destructor TForm1.Destroy;beginFExcelSheet.Free;FExcelBook.Free;FExcelApp.Free;inherited;end;procedure TForm1.Button1Click(Sender: TObject);beginCaption := 'begin open';with ADOQuery1 dobeginif not Active thenbeginSQL.Text := 'select * from mytable';Open;end;DataSetToExcel('c:.xls');end;end;这是利用Excel内置的功能