用Delphi全面控制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.WorksSheets[ '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.size := 10;

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;

例子:

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;

相关推荐
Delphi编程大师2003 还有各类控件400多个.也有Delphi教学文章及书籍25个.和各类Delphi编程的软件原代码 不但能使你简单的操控Delphi进行编程.而且能对初学者进行深入浅出的教学. 同时Delphi的原代码能帮助各位Delphi爱好者在编程过程中得到不同的启发与参考. 本软件含有: BorlandDelphi7.06中文版 BorlandDelphi6中文版 BorlandDelphi5中文版 控件控件大全: DBISAM 3.07 SkinForm 界面控件 FlatStyle 文件备份 BackFile XP菜单 XPMenu DosMove RainXP XP Bar Menu 窗口停泊组件 RxLib2.75 nBdeDBF AVL平衡树控件包 常数据结构控件包(+源码+测试程序) SourceEdit DevExpress For Delphi6&7 Inforpower 4000.E FlatStyle 平面界面控件 ehlib25 Devexpress DBTree 1.3 1 FS 序列号大全 FrmConv 1.0 PrintManager 1.0 超链接拖放 Delphi Project Launcher 1.3 Gifform For Delphi 1.1 1stClass for Delphi 6 3000.01 RegTool控件 1.0 Delphi 6.0 汉化资源包 繁简转换原码 WjTable Miniprint Miniprint_tryversion Spcomm Menubar mssql bitdbgrid exp aexcel aliased doci ln hgdbfilter kbmmemtab VclZip 2.23版本 一个极酷的TreeView控件,多种视觉效果.推荐 对于字符串进行DES加密的控件 在Delphi中制作扑克牌游戏的控件 eXperience dxPack12(一组dotNet控件) 界面控件ThemeEngine 3.2 界面控件Skinengine3.2.0 内存表控件 kbmMemTable TGifImage For D7 经本人修改过的XpMenu,真正xp效果 可支持窗体停靠的控件 Modem拨号构件 一个于Ini文件控制的控件 DBPanel 一个支持多种图形格式的控件 Modem拨号控制控件 一个可以实现颜色渐变效果的label控件 TEasySize Skinengine 3.1.2 ADOTable TTransitionEffect 一个可以以动画方式显示Hint的控件 一个能够旋转显示其内的图像的Image控件 Gifimage For Delphi6 Richview1.4.2 SakEmail控件3.4.3版本 利Windows Socket API抓取网络上的网页的控件 系统信息控件 一个不错的RAS构件 最新版本的gifimage glad控件包for d5 拥有七种不同外观的改良版TCheckBox构件 平滑特效字体控件包 V2.2 Xcl代替Delphi的Vcl控件 能够嵌入TButton或TComboBox的TStringGrid控件 能够以回转的形式带出欲显示Form的控件 具有渐层色彩为背景之改良版TLabel构件 模拟大型电子广告牌的控件 VDF-Tools系列控件 能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的TQuickRTTI控件 制作 Microsoft ISAPI Extention 应程序的构件 控制ISDN拨号的控件 AGHOTKEYMGR 针对 UDP 通讯协议的 Socket 构件 能够更改 TForm.Cpation 显示字体的非可视构件 改良版的 TTimer 构件 利 MODEM 提供拨号功能的非可视构件 加强版 TTimer 构件 TCommStatus串行状态控件 一个具备 FTP 功能的构件 目前为止效果最好的mp3播放控件组 非常COOL的能够做出WIN2K般的效果动感界面控件 很cool的grid控件 换肤功能控件 自动缩放数据表格 V1.0 平滑字体控件包 V1.1 应程序病毒免疫控件 V1.21 以可视鼠标拖放的方式产生 SQL 语句的可视构件 UCCOMP AExcel组件 模拟音响设备中纵向彩色LED指示表的控件 类似音响设备中立体旋钮构件 TRANSPARENT PRNTRAID TMnet 能够解析编辑MP3文件中的Tag的非可视
Delphi编程大师2003 还有各类控件400多个.也有Delphi教学文章及书籍25个.和各类Delphi编程的软件原代码 不但能使你简单的操控Delphi进行编程.而且能对初学者进行深入浅出的教学. 同时Delphi的原代码能帮助各位Delphi爱好者在编程过程中得到不同的启发与参考. 本软件含有: BorlandDelphi7.06中文版 BorlandDelphi6中文版 BorlandDelphi5中文版 控件控件大全: DBISAM 3.07 SkinForm 界面控件 FlatStyle 文件备份 BackFile XP菜单 XPMenu DosMove RainXP XP Bar Menu 窗口停泊组件 RxLib2.75 nBdeDBF AVL平衡树控件包 常数据结构控件包(+源码+测试程序) SourceEdit DevExpress For Delphi6&7 Inforpower 4000.E FlatStyle 平面界面控件 ehlib25 Devexpress DBTree 1.3 1 FS 序列号大全 FrmConv 1.0 PrintManager 1.0 超链接拖放 Delphi Project Launcher 1.3 Gifform For Delphi 1.1 1stClass for Delphi 6 3000.01 RegTool控件 1.0 Delphi 6.0 汉化资源包 繁简转换原码 WjTable Miniprint Miniprint_tryversion Spcomm Menubar mssql bitdbgrid exp aexcel aliased doci ln hgdbfilter kbmmemtab VclZip 2.23版本 一个极酷的TreeView控件,多种视觉效果.推荐 对于字符串进行DES加密的控件 在Delphi中制作扑克牌游戏的控件 eXperience dxPack12(一组dotNet控件) 界面控件ThemeEngine 3.2 界面控件Skinengine3.2.0 内存表控件 kbmMemTable TGifImage For D7 经本人修改过的XpMenu,真正xp效果 可支持窗体停靠的控件 Modem拨号构件 一个于Ini文件控制的控件 DBPanel 一个支持多种图形格式的控件 Modem拨号控制控件 一个可以实现颜色渐变效果的label控件 TEasySize Skinengine 3.1.2 ADOTable TTransitionEffect 一个可以以动画方式显示Hint的控件 一个能够旋转显示其内的图像的Image控件 Gifimage For Delphi6 Richview1.4.2 SakEmail控件3.4.3版本 利Windows Socket API抓取网络上的网页的控件 系统信息控件 一个不错的RAS构件 最新版本的gifimage glad控件包for d5 拥有七种不同外观的改良版TCheckBox构件 平滑特效字体控件包 V2.2 Xcl代替Delphi的Vcl控件 能够嵌入TButton或TComboBox的TStringGrid控件 能够以回转的形式带出欲显示Form的控件 具有渐层色彩为背景之改良版TLabel构件 模拟大型电子广告牌的控件 VDF-Tools系列控件 能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的TQuickRTTI控件 制作 Microsoft ISAPI Extention 应程序的构件 控制ISDN拨号的控件 AGHOTKEYMGR 针对 UDP 通讯协议的 Socket 构件 能够更改 TForm.Cpation 显示字体的非可视构件 改良版的 TTimer 构件 利 MODEM 提供拨号功能的非可视构件 加强版 TTimer 构件 TCommStatus串行状态控件 一个具备 FTP 功能的构件 目前为止效果最好的mp3播放控件组 非常COOL的能够做出WIN2K般的效果动感界面控件 很cool的grid控件 换肤功能控件 自动缩放数据表格 V1.0 平滑字体控件包 V1.1 应程序病毒免疫控件 V1.21 以可视鼠标拖放的方式产生 SQL 语句的可视构件 UCCOMP AExcel组件 模拟音响设备中纵向彩色LED指示表的控件 类似音响设备中立体旋钮构件 TRANSPARENT PRNTRAID TMnet 能够解析编辑MP3文件中的Tag的非可视构件 一个TextToSpeech(TTS)控件 一个报表控件 自缩放数据表格 TAutoDBGrid V1.0 应程序病毒免疫控件 SelfAV V1.1 For Delphi 平滑字体控件包 V1.1Beta gifimage最新版本 MS的语音生成(TTS)的Delphi单元 功能全面的报表快速生成构件库 TTommHtmlLabel 存取和控制硬件的控件Tvichw32 能够让 TForm 构件产生半透明效果的非可视构件 GraphicEx87 最棒的Internet编程构件 Microsoft Office 97样式TComboBox 构件 JBS 系列的构件套件 ARC系列套件1.0.3 版 TBurner TDosMove Shell Control Pack VCL v1.5 TCadComboBox outlplus BUPack Component Package v1.4 Directx游戏制作开发包DGCBETA6的十七个例子 Directx游戏制作开发包DGCBETA6 DRIVEDIR TDsFancyButton CGI Expert Components Release 5.0.6 RaLib 1.00 TDsPanel TColorPageControl 超级中国式报表控件(printdbgrid)示例 TOutlook Button 1.0 TPageSetupDialog TStolliFullScreen TSpeedbtn.zip ALEXISRIOS fre AMDCPACK .......................
Delphi编程大师2003 还有各类控件400多个.也有Delphi教学文章及书籍25个.和各类Delphi编程的软件原代码 不但能使你简单的操控Delphi进行编程.而且能对初学者进行深入浅出的教学. 同时Delphi的原代码能帮助各位Delphi爱好者在编程过程中得到不同的启发与参考. 本软件含有: BorlandDelphi7.06中文版 BorlandDelphi6中文版 BorlandDelphi5中文版 控件控件大全: DBISAM 3.07 SkinForm 界面控件 FlatStyle 文件备份 BackFile XP菜单 XPMenu DosMove RainXP XP Bar Menu 窗口停泊组件 RxLib2.75 nBdeDBF AVL平衡树控件包 常数据结构控件包(+源码+测试程序) SourceEdit DevExpress For Delphi6&7 Inforpower 4000.E FlatStyle 平面界面控件 ehlib25 Devexpress DBTree 1.3 1 FS 序列号大全 FrmConv 1.0 PrintManager 1.0 超链接拖放 Delphi Project Launcher 1.3 Gifform For Delphi 1.1 1stClass for Delphi 6 3000.01 RegTool控件 1.0 Delphi 6.0 汉化资源包 繁简转换原码 WjTable Miniprint Miniprint_tryversion Spcomm Menubar mssql bitdbgrid exp aexcel aliased doci ln hgdbfilter kbmmemtab VclZip 2.23版本 一个极酷的TreeView控件,多种视觉效果.推荐 对于字符串进行DES加密的控件 在Delphi中制作扑克牌游戏的控件 eXperience dxPack12(一组dotNet控件) 界面控件ThemeEngine 3.2 界面控件Skinengine3.2.0 内存表控件 kbmMemTable TGifImage For D7 经本人修改过的XpMenu,真正xp效果 可支持窗体停靠的控件 Modem拨号构件 一个于Ini文件控制的控件 DBPanel 一个支持多种图形格式的控件 Modem拨号控制控件 一个可以实现颜色渐变效果的label控件 TEasySize Skinengine 3.1.2 ADOTable TTransitionEffect 一个可以以动画方式显示Hint的控件 一个能够旋转显示其内的图像的Image控件 Gifimage For Delphi6 Richview1.4.2 SakEmail控件3.4.3版本 利Windows Socket API抓取网络上的网页的控件 系统信息控件 一个不错的RAS构件 最新版本的gifimage glad控件包for d5 拥有七种不同外观的改良版TCheckBox构件 平滑特效字体控件包 V2.2 Xcl代替Delphi的Vcl控件 能够嵌入TButton或TComboBox的TStringGrid控件 能够以回转的形式带出欲显示Form的控件 具有渐层色彩为背景之改良版TLabel构件 模拟大型电子广告牌的控件 VDF-Tools系列控件 能够得知True Type字体详细信息的非可视构件 直接存取硬件设备IO口地址的非可视构件BAIOPORT QuickReport实现自动分行显示的补丁 能够拦截系统内键盘输入信息的Hook构件 能够精简HTML文件的控件 可以处理XML的TQuickRTTI控件 制作 Microsoft ISAPI Extention 应程序的构件 控制ISDN拨号的控件 AGHOTKEYMGR 针对 UDP 通讯协议的 Socket 构件 能够更改 TForm.Cpation 显示字体的非可视构件 改良版的 TTimer 构件 利 MODEM 提供拨号功能的非可视构件 加强版 TTimer 构件 TCommStatus串行状态控件 一个具备 FTP 功能的构件 目前为止效果最好的mp3播放控件组 非常COOL的能够做出WIN2K般的效果动感界面控件 很cool的grid控件 换肤功能控件 自动缩放数据表格 V1.0 平滑字体控件包 V1.1 应程序病毒免疫控件 V1.21 以可视鼠标拖放的方式产生 SQL 语句的可视构件 UCCOMP AExcel组件 模拟音响设备中纵向彩色LED指示表的控件 类似音响设备中立体旋钮构件 TRANSPARENT PRNTRAID TMnet 能够解析编辑MP3文件中的Tag的非可视构件 一个TextToSpeech(TTS)控件 一个报表控件 自缩放数据表格 TAutoDBGrid V1.0 应程序病毒免疫控件 SelfAV V1.1 For Delphi 平滑字体控件包 V1.1Beta gifimage最新版本 MS的语音生成(TTS)的Delphi单元 功能全面的报表快速生成构件库 TTommHtmlLabel 存取和控制硬件的控件Tvichw32 能够让 TForm 构件产生半透明效果的非可视构件 GraphicEx87 最棒的Internet编程构件 Microsoft Office 97样式TComboBox 构件 JBS 系列的构件套件 ARC系列套件1.0.3 版 TBurner TDosMove Shell Control Pack VCL v1.5 TCadComboBox outlplus BUPack Component Package v1.4 Directx游戏制作开发包DGCBETA6的十七个例子 Directx游戏制作开发包DGCBETA6 DRIVEDIR TDsFancyButton CGI Expert Components Release 5.0.6 RaLib 1.00 TDsPanel TColorPageControl 超级中国式报表控件(printdbgrid)示例 TOutlook Button 1.0 TPageSetupDialog TStolliFullScreen TSpeedbtn.zip ALEXISRIOS fre AMDCPACK .......................
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页