全面控制 Excel

全面控制   Excel 
首先创建   Excel   对象,使用ComObj: 
var   ExcelID:   Variant; 
  ExcelID   :=   CreateOleObject(   'Excel.Application '   ); 
1)   显示当前窗口: 
ExcelID.Visible   :=   True; 
2)   更改   Excel   标题栏: 
ExcelID.Caption   :=   '应用程序调用   Microsoft   Excel '; 
3)   添加新工作簿: 
    ExcelID.WorkBooks.Add; 
4)   打开已存在的工作簿: 
    ExcelID.WorkBooks.Open(   'C:\Excel\Demo.xls '   ); 
5)   设置第2个工作表为活动工作表: 
    ExcelID.WorkSheets[2].Activate;     
  或   ExcelID.WorkSheets[   'Sheet2 '   ].Activate; 
6)   给单元格赋值: 
  ExcelID.Cells[1,4].Value   :=   '第一行第四列 '; 
7)   设置指定列的宽度(单位:字符个数),以第一列为例: 
  ExcelID.ActiveSheet.Columns[1].ColumnsWidth   :=   5; 
8)   设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: 
    ExcelID.ActiveSheet.Rows[2].RowHeight   :=   1/0.035;   //   1厘米 
9)   在第8行之前插入分页符: 
    ExcelID.WorkSheets[1].Rows[8].PageBreak   :=   1; 
10)   在第8列之前删除分页符: 
    ExcelID.ActiveSheet.Columns[4].PageBreak   :=   0; 
11)   指定边框线宽度: 
  ExcelID.ActiveSheet.Range[   'B3:D4 '   ].Borders[2].Weight   :=   3; 
      1-左         2-右       3-顶         4-底       5-斜(   \   )           6-斜(   /   ) 
12)   清除第一行第四列单元格公式: 
  ExcelID.ActiveSheet.Cells[1,4].ClearContents; 
13)   设置第一行字体属性: 
ExcelID.ActiveSheet.Rows[1].Font.Name   :=   '隶书 '; 
ExcelID.ActiveSheet.Rows[1].Font.Color     :=   clBlue; 
ExcelID.ActiveSheet.Rows[1].Font.Bold       :=   True; 
ExcelID.ActiveSheet.Rows[1].Font.UnderLine   :=   True; 
14)   进行页面设置: 
    a.页眉: 
        ExcelID.ActiveSheet.PageSetup.CenterHeader   :=   '报表演示 '; 
    b.页脚: 
        ExcelID.ActiveSheet.PageSetup.CenterFooter   :=   '第&P页 '; 
    c.页眉到顶端边距2cm: 
        ExcelID.ActiveSheet.PageSetup.HeaderMargin   :=   2/0.035; 
    d.页脚到底端边距3cm: 
        ExcelID.ActiveSheet.PageSetup.HeaderMargin   :=   3/0.035; 
    e.顶边距2cm: 
        ExcelID.ActiveSheet.PageSetup.TopMargin   :=   2/0.035; 
    f.底边距2cm: 
        ExcelID.ActiveSheet.PageSetup.BottomMargin   :=   2/0.035; 
    g.左边距2cm: 
        ExcelID.ActiveSheet.PageSetup.LeftMargin   :=   2/0.035; 
    h.右边距2cm: 
        ExcelID.ActiveSheet.PageSetup.RightMargin   :=   2/0.035; 
    i.页面水平居中: 
        ExcelID.ActiveSheet.PageSetup.CenterHorizontally   :=   2/0.035; 
    j.页面垂直居中: 
        ExcelID.ActiveSheet.PageSetup.CenterVertically   :=   2/0.035; 
    k.打印单元格网线: 
        ExcelID.ActiveSheet.PageSetup.PrintGridLines   :=   True; 
15)   拷贝操作: 
    a.拷贝整个工作表: 
        ExcelID.ActiveSheet.Used.Range.Copy; 
    b.拷贝指定区域: 
        ExcelID.ActiveSheet.Range[   'A1:E2 '   ].Copy; 
    c.从A1位置开始粘贴: 
        ExcelID.ActiveSheet.Range.[   'A1 '   ].PasteSpecial; 
    d.从文件尾部开始粘贴: 
        ExcelID.ActiveSheet.Range.PasteSpecial; 
  16)   插入一行或一列: 
      a.   ExcelID.ActiveSheet.Rows[2].Insert; 
      b.   ExcelID.ActiveSheet.Columns[1].Insert; 
  17)   删除一行或一列: 
    a.   ExcelID.ActiveSheet.Rows[2].Delete; 
    b.   ExcelID.ActiveSheet.Columns[1].Delete; 
  18)   打印预览工作表: 
    ExcelID.ActiveSheet.PrintPreview; 
  19)   打印输出工作表: 
    ExcelID.ActiveSheet.PrintOut; 
  20)   工作表保存: 
  if   not   ExcelID.ActiveWorkBook.Saved   then 
      ExcelID.ActiveSheet.PrintPreview; 
  21)   工作表另存为: 
    ExcelID.SaveAs(   'C:\Excel\Demo1.xls '   ); 
  22)   放弃存盘: 
  ExcelID.ActiveWorkBook.Saved   :=   True; 
  23)   关闭工作簿: 
  ExcelID.WorkBooks.Close; 
  24)   退出   Excel: 
ExcelID.Quit; 

如何在Delphi中操作Excel 
在数据库应用软件的开发过程中,经常需要把数据转换成Excel文件,让用户作进一步的数据处理。而Delphi是开发数据库应用系统的常用工具,那么,如何在Delphi中操作Excel呢?   
我们知道,在Microsoft   Office软件中有一种内嵌的编程语言VBA,它是一种宏语言,利用它,你可以编写出功能强大的代码,如打开文件、修改数据、保存数据和设置字体等。另一方 
面,Microsoft   Office软件中的宏能以VBA代码的形式记录下你的操作过程。因此借助宏操作,可以很轻松地实现某一功能,并把这些代码稍作修改嵌入到你的软件中。但是VBA也存在 
一个缺点,它必须有Microsoft   Office作平台,在哪里编写,必须在哪里执行。例如在Excel下编写的一段VBA代码,则它只有在Excel下才能运行。因此,笔者的方法就是把VBA代码嵌入 
到Delphi中,从而实现用Delphi操作Excel。   
  下面,我们以Delphi程序为例,说明这种调用方法:   
  Unit   excel;   
  interface   
  uses   
  Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs,StdCtrls,ComObj;   
  //ComObj是操作OLE对象的函数集   
  type   TForm1   =class(TForm)   
  Button1:   TButton;   
  procedure   Button1Click(Sender:   TObject);   
  private   
  {   Private   declarations   }   
  public   
  {   Public   declarations   }   
  end;   
  var   
  Form1:   TForm1;   
  implementation   
  {$R   *.DFM}   
  procedure   TForm1.Button1Click(Sender:   TObject);   
  var   
  eclApp,WorkBook:Variant;   
  //声明为OLE   Automation   对象   
  xlsFileName:string;begin   
  xlsFileName:= 'ex.xls ';   
  try   
  //创建OLE对象Excel   Application与   WorkBook   
  eclApp:=CreateOleObject( 'Excel.Application ');   
  WorkBook:=CreateOleobject( 'Excel.Sheet ');   
  except   
  ShowMessage( '您的机器里未安装Microsoft   Excel。 ');   
  Exit;   
  end;   
  try   
  ShowMessage( '下面演示:新建一个XLS文件,并写入数据,最后关闭它。 ');   
  workBook:=eclApp.workBooks.Add;   
  eclApp.Cells(1   ,   1):= '字符型 ';   
  eclApp.Cells(2   ,   1):= 'Excel文件 ';   
  eclApp.Cells(1   ,   2):= 'Money型 ';   
  eclApp.Cells(2   ,   2):=10.01;   
  eclApp.Cells(1   ,   3):= '日期型 ';eclApp.Cells(2   ,   3):=Date;   
  WorkBook.saveas(xlsFileName);   
  WorkBook.close;   
  ShowMessage( '下面演示:打开刚创建的XLS文件,并修改其中的内容,然后,由用户决定是否保存。 ');   
  WorkBook:=eclApp.workBooks.Open(xlsFileName);   
  eclApp.Cells(2   ,   1):= 'Excel文件类型 ';   
  if   MessageDlg(xlsFileName+ '文件已被修改,是否保存? ',mtConfirmation,   [mbYes,   mbNo],   0)   =   mrYes   then   
  WorkBook.save   
  else   
  workBook.Saved   :=   True;   //放弃修改   
  WorkBook.Close;   
  eclApp.Quit;   
  //退出Excel   Application   
  //释放VARIANT变量   
  eclApp:=Unassigned;   
  except   
  ShowMessage( '不能正确操作Excel文件。可能是该文件已被其他程序打开,或系统错误。 ');   
  WorkBook.close;   
  eclApp.Quit;   
  //释放VARIANT变量   
  eclApp:=Unassigned;   
  end;   
  end;   
  end.   
  经过上述操作过程后,我们就可以很放心地将数据库中的数据转换成Excel文件了

转载于:https://www.cnblogs.com/KivenSun/archive/2010/12/17/1909292.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值