|
|
导航: |
论坛 -> DELPHI技术
斑竹:liumazi,sephil |
|
作者: |
hrgsb (阿斌) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2003/11/24 20:36:41 |
标题: |
如何在DELPHI中调用EXCEL |
浏览:1699 |
|
加入我的收藏 |
楼主: |
各们高手: 我用ADO+ACCESS做的数据库,请问如何将数据输出到EXCEL然后执行打印?? 谢谢!
----------------------------------------------
- |
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2003/11/24 20:48:08 |
1楼: |
uses Excel2000, {C:\Program Files\Borland\Delphi6\Imports}
OleServer;
procedure TFrmMain.WriteExcel(AdsData: TADODataSet; sName, Title: string); var ExcelApplication1: TExcelApplication; ExcelWorksheet1: TExcelWorksheet; ExcelWorkbook1: TExcelWorkbook; i, j: integer; filename: string; begin filename := concat(extractfilepath(application.exename), sName, '.xls'); try ExcelApplication1 := TExcelApplication.Create(Application); ExcelWorksheet1 := TExcelWorksheet.Create(Application); ExcelWorkbook1 := TExcelWorkbook.Create(Application); ExcelApplication1.Connect; except Application.Messagebox('Excel 没有安装!', 'Hello', MB_ICONERROR + mb_Ok); Abort; end; try ExcelApplication1.Workbooks.Add(EmptyParam, 0); ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]); ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet); AdsData.First; for j := 0 to AdsData.Fields.Count - 1 do begin ExcelWorksheet1.Cells.item[3, j + 1] := AdsData.Fields[j].DisplayLabel; ExcelWorksheet1.Cells.item[3, j + 1].font.size := '10'; end; for i := 4 to AdsData.RecordCount + 3 do begin for j := 0 to AdsData.Fields.Count - 1 do begin ExcelWorksheet1.Cells.item[i, j + 1] :=AdsData.Fields[j].Asstring; ExcelWorksheet1.Cells.item[i, j + 1].font.size := '10'; end; AdsData.Next; end; ExcelWorksheet1.Columns.AutoFit; ExcelWorksheet1.Cells.item[1, 2] := Title; ExcelWorksheet1.Cells.Item[1, 2].font.size :='14'; ExcelWorksheet1.SaveAs(filename); Application.Messagebox(pchar('数据成功导出' + filename), 'Hello',mb_Ok); finally ExcelApplication1.Disconnect; ExcelApplication1.Quit; ExcelApplication1.Free; ExcelWorksheet1.Free; ExcelWorkbook1.Free; end; end;
procedure Tfrmmain.FormCreate(Sender: TObject); begin WriteExcel(ADODataSet1, 'ergonge','hhh'); end;
----------------------------------------------
|
作者: |
|
2003/11/24 20:59:39 |
2楼: |
精华区里也有!~
----------------------------------------------
-
|
作者: |
bios (阿贡) |
★☆☆☆☆ |
-
|
盒子中级会员 |
|
2003/11/24 21:04:48 |
3楼: |
同意:欢乐八方 大哥!向你学习!谢谢! http://bbs.2ccc.com/topic.asp?topicid=12821
----------------------------------------------
|
作者: |
|
2003/11/25 7:57:58 |
4楼: |
bios的方法是你的机器必须安装有EXCEL,否则就没有办法了。你还可以用SMEXPORT或者EMS Export来导出。
----------------------------------------------
-
|
|