WriteExcel

  1. uses  OleServer, Excel2000,ComObj;
  2. procedure WriteExcel(AdsData: TDataSet;Dbgrid: TDbgrid; sName, Title: string);
  3. var
  4.   ExcelApplication1: TExcelApplication;
  5.   ExcelWorksheet1: TExcelWorksheet;
  6.   ExcelWorkbook1: TExcelWorkbook;
  7.   nrow,ncol: integer;
  8.   filename: string;
  9. begin
  10.   filename := concat(extractfilepath(application.exename), sName, '.xls');
  11.   try
  12.     ExcelApplication1 := TExcelApplication.Create(Application);
  13.     ExcelWorksheet1 := TExcelWorksheet.Create(Application);
  14.     ExcelWorkbook1 := TExcelWorkbook.Create(Application);
  15.     ExcelApplication1.Connect;
  16.   except
  17.     Application.Messagebox('Excel 没有安装!''Hello', MB_ICONERROR + mb_Ok);
  18.     Abort;
  19.   end;
  20.   try
  21.     ExcelApplication1.Workbooks.Add(EmptyParam, 0);
  22.     ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
  23.     ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1as _worksheet);
  24.     nrow:=2;
  25.     for ncol:=2 to dbgrid.Columns.Count+1 do
  26.       begin
  27.         ExcelWorksheet1.Cells.item[nRow,nCol] := dbgrid.Columns[ncol-2].Title.caption;
  28. //        ExcelWorksheet1.Cells.item[nRow,nCol].font.size := '10';
  29.       end;
  30.     nrow:=nrow+1;
  31.     AdsData.First;
  32.     while not AdsData.Eof do
  33.       begin
  34.         for ncol :=2 to dbgrid.Columns.Count+1 do
  35.           begin
  36.            ExcelWorksheet1.Cells.item[nRow,nCol] :=dbgrid.Fields[ncol-2].AsString;
  37. //           ExcelWorksheet1.Cells.item[nRow,nCol].font.size := '10';
  38.           end;
  39.        AdsData.Next;
  40.        nRow:=nRow+1;
  41.       end;
  42.     ExcelWorksheet1.Columns.AutoFit;
  43.     ExcelWorksheet1.Cells.item[12] := Title;
  44.     ExcelWorksheet1.Cells.Item[12].font.size := '14';
  45.     ExcelWorksheet1.SaveAs(filename);
  46.   finally
  47.     ExcelApplication1.Disconnect;
  48.     ExcelApplication1.Quit;
  49.     ExcelApplication1.Free;
  50.     ExcelWorksheet1.Free;
  51.     ExcelWorkbook1.Free;
  52.   end;
  53. end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值