操作EXCEL的方法

一、调用Excel的方法:一般情况下有两种方法调用Excel:

                  1、  直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, 

                  ExcelWorkbook和ExcelWorksheet。

                  2、动态创建Excel文件:首先创建 Excel 对象,使用ComObj,Excel2000:

                  var ExcelApp: Variant;

                  ExcelApp := CreateOleObject( 'Excel.Application' );

 

                  二、导入数据:在程序中,我们可以将查询到的数据(SQL、Access、)导入到Excel中。例如:用Adoquery查询Access中的数据:

                  1、先查到所需的数据;

                  2、导入:i:=1;

                  Adoquery.First;

                                while not Adoquery.Eof do

                                  Begin

                                    ExcelApp.WorkSheets[1].Cells[i,1].Value := 

                  i;//添加序号的值

                  ExcelApp.WorkSheets[1].Cells[i,2].Value := 

                  Adoquery.FieldByName('cp_name').AsString;

                                    ……

                                    Inc(i);

                  Adoquery.Next;

                                  End;

                  当然也可以把Adotable、Adoquery、Table、Query等组件的数据导入到Excel中。

三、Excel的处理:如果在你已知Excel格式的情况下,可以控制Excel,如下:
                  1、 显示当前窗口:ExcelApp.Visible := True;
                  2、 更改 Excel 标题栏:ExcelApp.Caption := '标题内容';
                  3、 添加新工作簿:ExcelApp.WorkBooks.Add;
                  4、 设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate;
                  5、 给单元格赋值:ExcelApp.Cells[1,1].Value := '第一行第一列';
                  6、 设置指定列的宽度(单位:字符个数),以第一列为例:
                  ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;
                  7、 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
                  ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
                  8、文字水平居中:Excelid.worksheets[1].Rows[1].HorizontalAlignment := 
                  $FFFFEFF4;
                    文字垂直居中:Excelid.worksheets[1].Rows[1].VerticalAlignment := 
                  $FFFFEFF4;
                  9、 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Insert;
                  b. ExcelApp.ActiveSheet.Columns[1].Insert;
                  10、 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Delete;
                  b. ExcelApp.ActiveSheet.Columns[1].Delete;  
11、合并单元格:ExcelApp.worksheets[1].range[A1:F8'].Merge(abc);注:要声明变量abc: 
                  Variant;
                  12、竖行显示文字:ExcelApp.worksheets[1].Cells.Item[1,1].Orientation:= 
                  xlVertical;
                  13、单元格加边线:ExcelApp.worksheets[1].Range[A1:F8].Borders.LineStyle 
                  := 1;
                  14、在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;
                  15、在第4列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;
                  16、指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' 
                  ].Borders[2].Weight := 3;
                  1-左    2-右   3-顶    4-底   5-斜( / )     6-斜( / )
                  17、拷贝操作:a.拷贝整个工作表:ExcelApplication1.ActiveSheet.Used.Range.Copy;
                  b.拷贝指定区域:ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
                                   
                  c.从A1位置开始粘贴:ExcelApplication1.ActiveSheet.Range.[ 'A1' 
                  ].PasteSpecial;
                  d.从文件尾部开始粘贴:ExcelApplication1.ActiveSheet.Range.PasteSpecial;
                  18、清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[1,4].ClearContents;
                  19、工作表保存:if not ExcelApp.ActiveWorkBook.Saved then
                                 ExcelApp.ActiveSheet.PrintPreview;
                  20、工作表另存为:ExcelApp.SaveAs( 'C:/Excel/Demo1.xls' );
                  21、放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;
                  22、关闭工作簿:ExcelApp.WorkBooks.Close;
                  23、退出 Excel:ExcelApp.Quit;
                  下面是有关打印页面控制的语句:
                     24、设置第一行字体属性:ExcelApp.ActiveSheet.Rows[1].Font.Name := 
'隶书';
                  ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue;
                  ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;
                  ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
                  ExcelApp.ActiveSheet.Rows[1].Font.size:=10;
                  25、进行页面设置:a.页眉:ExcelApp.ActiveSheet.PageSetup.CenterHeader := 
                  '报表演示';
                  b.页脚:ExcelApp.ActiveSheet.PageSetup.CenterFooter := '共&N页 
                  第&P页';
                                       
                  c.页眉到顶端边距2cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 
                  2/0.035;
                  d.页脚到底端边距3cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 
                  3/0.035;
                                       
                  e.顶边距2cm:ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;
                  f.底边距2cm:ExcelApp.ActiveSheet.PageSetup.BottomMargin := 
                  2/0.035;
                                       
                  g.左边距2cm:ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
                  h.右边距2cm:ExcelApp.ActiveSheet.PageSetup.RightMargin := 
2/0.035;
                                       
                  i.页面水平居中:ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 
                  2/0.035;
                  j.页面垂直居中:ExcelApp.ActiveSheet.PageSetup.CenterVertically := 
                  2/0.035;
                                       
                  k.打印单元格网线:ExcelApp.ActiveSheet.PageSetup.PrintGridLines := 
                  True;
                  26、打印预览工作表:ExcelApp.ActiveSheet.PrintPreview;
                  27、打印输出工作表:ExcelApp.ActiveSheet.PrintOut;
                  对Excel的其他控制:
                  28、excel的多单元格合计功能:ExcelApp..Cells[ARow, ACol].Formula 
                  := '= SUM($+IntToStr(BeginRow) +:$ + IntToStr(EndRow) +');
                  注:声明变量ARow, ACol: Integer;
                  29、打开已经存在的Excel文件: ExcelApplication1.Workbooks.Open (c:/a.xls
                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                     EmptyParam,EmptyParam,EmptyParam,EmptyParam,0);
方法来源于QQ群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值