来源:http://blog.csdn.net/chelen_jak/article/details/7069095

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

(二) 使用Delphi 控件方法
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 
  1)  打开Excel 
    ExcelApplication1.Connect;
  2) 显示当前窗口:
    ExcelApplication1.Visible[0]:=True;
  3) 更改 Excel 标题栏:
    ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';
  4) 添加新工作簿:
    ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
  5) 添加新工作表:
    var Temp_Worksheet: _WorkSheet;
    begin
      Temp_Worksheet:=ExcelWorkbook1.
      WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
      ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);

    End;
  6) 打开已存在的工作簿:
    ExcelApplication1.Workbooks.Open (c:\a.xls
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,
     EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
  7) 设置第2个工作表为活动工作表:
    ExcelApplication1.WorkSheets[2].Activate;  或
    ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
  8) 给单元格赋值:  
    ExcelApplication1.Cells[1,4].Value := '第一行第四列';
  9) 设置指定列的宽度(单位:字符个数),以第一列为例:
    ExcelApplication1.ActiveSheet.Columns[1].ColumnsWidth := 5;
  10) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
    ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
  11) 在第8行之前插入分页符:
    ExcelApplication1.WorkSheets[1].Rows.PageBreak := 1;
  12) 在第8列之前删除分页符:
    ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;
  13) 指定边框线宽度:
    ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;
    1-左    2-右   3-顶    4-底   5-斜( \ )     6-斜( / )
  14) 清除第一行第四列单元格公式:
    ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;
  15) 设置第一行字体属性:
    ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隶书';
    ExcelApplication1.ActiveSheet.Rows[1].Font.Color  := clBlue;
    ExcelApplication1.ActiveSheet.Rows[1].Font.Bold   := True;
    ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True;
  16) 进行页面设置:
    a.页眉:
       ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '报表演示';
    b.页脚:
       ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P页';
    c.页眉到顶端边距2cm:
       ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
    d.页脚到底端边距3cm:
       ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035;
    e.顶边距2cm:
       ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035;
    f.底边距2cm:
       ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
    g.左边距2cm:
       ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
    h.右边距2cm:
       ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035;
    i.页面水平居中:
       ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
    j.页面垂直居中:
       ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
    k.打印单元格网线:
       ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
  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) 插入一行或一列:
    a. ExcelApplication1.ActiveSheet.Rows[2].Insert;
    b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
  19) 删除一行或一列:
    a. ExcelApplication1.ActiveSheet.Rows[2].Delete;
    b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
  20) 打印预览工作表:
    ExcelApplication1.ActiveSheet.PrintPreview;
  21) 打印输出工作表:
    ExcelApplication1.ActiveSheet.PrintOut;
  22) 工作表保存:
    if not ExcelApplication1.ActiveWorkBook.Saved then
      ExcelApplication1.ActiveSheet.PrintPreview;
  23) 工作表另存为:
    ExcelApplication1.SaveAs( 'C:\Excel\Demo1.xls' );
  24) 放弃存盘:
    ExcelApplication1.ActiveWorkBook.Saved := True;
  25) 关闭工作簿:
    ExcelApplication1.WorkBooks.Close;
  26) 退出 Excel:
    ExcelApplication1.Quit;
    ExcelApplication1.Disconnect;

Excel OLE控制的更多相关文章

  1. 魔改——MFC SDI 支持 内嵌 EXCEL OLE

    ==================================声明================================== 本文版权归作者所有 未经作者授权 请勿转载 保留法律追究的 ...

  2. python xlwt写excel格式控制 颜色、模式、编码、背景色

    关于写excel的格式控制,比如颜色等等 import xlwt from datetime import datetime font0 = xlwt.Font() font0.name = 'Tim ...

  3. 用Delphi将数据导入到Excel并控制Excel

    一.调用Excel的方法:一般情况下有两种方法调用Excel:1.  直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWo ...

  4. SAP EXCEL OLE常用方法和属性

    1.创建application: CREATE OBJECT excel 'EXCEL.APPLICATION'. 2.设置显示模式,为1前台运行,为0时表示为后台运行. . 3.设置为不弹消息框(在 ...

  5. C++使用OLE高速读写EXCEL的源码

    我的代码参考的地方是这儿,再次感谢原作者 http://blog.csdn.net/gyssoft/archive/2007/04/29/1592104.aspx 我根据自己的需要做了整理,干净了一点 ...

  6. NX二次开发-OLE/COM向EXCEL表格中插入图片

    今晚有一个兄弟问我怎么往EXCEL里插入图片(加工程序单中需要插入图片),这个我之前也没弄过,回复了他一句不知道,后来刚刚干完游戏吃完鸡,就去VC++的书上翻了翻,还真的被我翻到了.VC++的方法往E ...

  7. VS2010 MFC对Excel的操作

    这是帮别人做项目遇到的一个问题,的那个是纠结了老长时间,本以为是一件很轻松的事... 首先,这里采用了OLE来对Excel进行操作,网上其实有大把的例子,虽然都可以运行,但是并不能满足项目要求,其实我 ...

  8. 在 Server 端存取 Excel 檔案的利器:NPOI Library

    转处 http://msdn.microsoft.com/zh-tw/ee818993.aspx Codeplex 軟體套件(Package)資訊 套件名稱 NPOI 作者 tonyqus, huse ...

  9. C++ builder 操作Excel方法(据网上资料整理)

    c++ builder 操作Excel方法,下面是从网上找到的一些不错的方法,学习一下: 用OLE操作Excel(目前最全的资料)(04.2.19更新) 本文档部分资料来自互联网,大部分是ccrun( ...

随机推荐

  1. Ruby Regexp类

    正则表达(Regexp)类 更新:2017/06/18 改变[]集合的表格大小 80% ---> 100%  定义 正则表达: 和字符串匹配的模式(pattern)的写法 正则表达(Regexp ...

  2. 5 分钟掌握 JS 实用窍门技巧,帮你快速撸码--- 删除数组尾部元素、E6对象解构、async/await、 操作平铺嵌套多维数组等

    1. 删除数组尾部元素 一个简单方法就是改变数组的length值: const arr = [11, 22, 33, 44, 55, 66]; arr.length = 3; console.log( ...

  3. htm 与 html 的区别

    htm 与 html 的区别 前者是超文本标记(Hypertext Markup) 后者是超文本标记语言(Hypertext Markup Language) 可以说 htm = html 同时,这两 ...

  4. JavaScript 入门案例

    四.  JavaScript 入门案例 在看本节之前,笔者建议您先看 JavaScript 基础篇  https://www.cnblogs.com/IT-LFP/p/10945884.html 1. ...

  5. Visual studio docker build no such file or directory

    在我构建新的镜像的时候, 发生 了  no such file or directory 的错误.  这个错误找了半天, 没头绪,项目结构是这样的: WebApplication1 建立在根目录下,是 ...

  6. GOTO语句以及GOTO机制的模式实现

    goto语句提供了方法内部的任意跳转,它在特殊场景下被应用. 而假设一个对象执行一个方法后,我们期望其余任何对象都可以捕获它,然后自己执行某些操作,那么可以怎么实现呢 class 皇宫 { void ...

  7. CentOS 6.5上安装GlassFish4.0 过程笔记

    CentOS 6.5上安装GlassFish4.0 过程笔记 1.安装JDK, 注意操作系统的位数, 64 or 32: [root@linuxidc ~]# mkdir /usr/java  [ro ...

  8. Oracle数据库的SQL语句之完整性约束——基础篇

    SELECT * FROM tb_clazz;SELECT * FROM tb_student; INSERT INTO tb_clazz(code,NAME,bzr) VALUES('1401',' ...

  9. 使用RecyclerView

    tags: 新建,模板,小书匠 RecyclerView 是 Android 团队新推出的控件,不仅能轻松实现 ListView 的同样的效果,还优化了 ListView 中许多不足之处. 目前 An ...

  10. spring framework 第一章数据库管理(data access)

    spring data access 的网址:https://docs.spring.io/spring/docs/current/spring-framework-reference/index.h ...