Delphi中控制Excel(转载)

用Delphi从数据库中取得资料,然后导出到Excel中做成报表是个不错的选择,因为Excel强大的报表功能那可是没话说
前提
Delphi中要
uses comobj;
var Excel:Variant;
一、Excel操作
1.创建Excel对象
Excel := CreateOleObject( Excel.Application );
2.显示Excel
Excel.Visible:=true;
3.更改标题
Excel.Caption:=Excel的标题;
4.退出Excel
Excel.Quit;
二、工作表操作
1.添加新工作簿(刚创建的Excel对象是没有工作表的):
Excel.WorkBooks.Add;
2.打开已存在的工作簿:
Excel.WorkBooks.Open( C:ExcelDemo.xls );
3.设置第2个工作表为活动工作表:
Excel.WorkSheets[2].Activate;

Excel.WorksSheets[Sheet2].Activate;
4.打印预览工作表:
Excel.ActiveSheet.PrintPreview;
5.打印输出工作表:
Excel.ActiveSheet.PrintOut;
6.工作表另存为:
Excel.SaveAs( C:ExcelDemo1.xls );
7.判断是否已经保存:
if not Excel.ActiveWorkBook.Saved then
Excel.ActiveSheet.PrintPreview;
8.放弃存盘:
Excel.ActiveWorkBook.Saved := True;
9.关闭工作簿:
Excel.WorkBooks.Close;
10.删除“表1”工作表:
Excel.Sheets(表1).delete;
11.改“sheet1”工作表名为“123”
Excel.Sheets(Sheet1).Name := 123;
三、行/列设置
1.设置指定列的宽度(单位:字符个数),以第一列为例:
Excel.ActiveSheet.Columns[1].ColumnsWidth := 5;
2.设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:
Excel.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
3.插入一行或一列:
a. Excel.ActiveSheet.Rows[2].Insert;
b. Excel.ActiveSheet.Columns[1].Insert;
4.删除一行或一列:
a. Excel.ActiveSheet.Rows[2].Delete;
b. Excel.ActiveSheet.Columns[1].Delete;
5.自适应宽度
Excel.ActiveSheet.Columns[1].EntireColumn.AutoFit; //第一列
Excel.Cells.EntireColumn.AutoFit; //整个表所有列
Excel.ActiveSheet.Rows[1:1].EntireRow.AutoFit; //第一行
Excel.ActiveSheet.Columns[A:A].EntireColumn.AutoFit; //第一列
6.居中显示J列
Excel.Columns[J:J].HorizontalAlignment:=3;
7.设置E列单元格式为3位小数数值
Excel.Columns[E:E].NumberFormatLocal:=#,##0.000_
8.设置E列单元格式为文字
Excel.Columns[E:E].NumberFormatLocal:[email protected]

四、单元格设置
1.设置单元格线框
Excel.ActiveSheet.Range[B10:C13].Borders[N].LineStyle := xlNone
Excel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin

边框的类型 Borders[N]
xlEdgeLeft 左=1
xlEdgeRight 右=2
xlEdgeTop 顶=3
xlEdgeBottom 底=4
xlDiagonalUp 左上右下=5
xlDiagonalDown 左下右上=6
xlEdgeLeft 外部左边框=7
xlEdgeTop 外部上边框=8
xlEdgeBottom 外部下边框=9
xlEdgeRight 外部右边框=10
xlInsideVertical 内部竖线=11
xlInsideHorizontal 内部横线=12
线条类型LineStyle,宽度Weight
第7种=1,1
第6种=2,2
第3种=3,2
第6种=4,2
第4种=5,2
第9种=6,3
第12种=1,3
第13种=1,4
第2种=2,1
单条线的LineStyle := xlContinuous
双条线的LineStyle := xlDouble
虚线 xlHairline 1
实线 xlThin
中实线 xlMedium
粗实线 xlThick
XLLineStyle等值参考Excel里面的VisualBasic对象浏览器帮助 (如图)
2.给单元格赋值:
Excel.Cells[1,4].Value := 第一行第四列;
3.设置第一行字体属性(隶书,蓝色,加粗,下划线):
Excel.ActiveSheet.Rows[1].Font.Name := 隶书;
Excel.ActiveSheet.Rows[1].Font.Color := clBlue;
Excel.ActiveSheet.Rows[1].Font.Bold := True;
Excel.ActiveSheet.Rows[1].Font.UnderLine := True;
4.设置整个表字体为9
Excel.Cells.Font.Size:=9;
5.在第8行之前插入/删除分页符:
Excel.WorkSheets[1].Rows[8].PageBreak := 1; (0为删除)
6.清除第一行第四列单元格公式:
Excel.ActiveSheet.Cells[1,4].ClearContents;
五、页面设置
1.页脚和页眉
Excel.ActiveSheet.PageSetup.LeftHeader := 页眉左
Excel.ActiveSheet.PageSetup.CenterHeader := 页眉中
Excel.ActiveSheet.PageSetup.RightHeader := 页眉右
Excel.ActiveSheet.PageSetup.LeftFooter := 页脚左
Excel.ActiveSheet.PageSetup.CenterFooter := 页脚中
Excel.ActiveSheet.PageSetup.RightFooter := 页脚右
2.页脚中间显示页数:
Excel.ActiveSheet.PageSetup.CenterFooter := 第&P页/共&N页;
3.页眉到顶端边距2cm:
Excel.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;
4.页脚到底端边距3cm:
Excel.ActiveSheet.PageSetup.FooterMargin := 3/0.035;
5.顶边距2cm:
Excel.ActiveSheet.PageSetup.TopMargin := 2/0.035;
6.底边距2cm:
Excel.ActiveSheet.PageSetup.BottomMargin := 2/0.035;
7.左边距2cm:
Excel.ActiveSheet.PageSetup.LeftMargin := 2/0.035;
8.右边距2cm:
Excel.ActiveSheet.PageSetup.RightMargin := 2/0.035;
9.页面水平居中:
Excel.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035;
10.页面垂直居中:
Excel.ActiveSheet.PageSetup.CenterVertically := 2/0.035;
11.打印单元格网线:
Excel.ActiveSheet.PageSetup.PrintGridLines := True;
12.横向打印
Excel.ActiveSheet.PageSetup.Orientation:=2

Delphi中控制Excel(转载),布布扣,bubuko.com

时间: 2024-10-02 03:53:09

Delphi中控制Excel(转载)的相关文章

怎么在delphi中读取Excel数据(各种详细操作) 转

原文:http://www.cnblogs.com/azhqiang/p/3678832.html ( 一 ) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj :Var  ExcelApp : Variant ;  ExcelApp := CreateOleObject ( '' Excel.Application '' ) ; 1 ) 显示当前窗口:  ExcelApp.Visible := True ; 2 ) 更改 Excel 标题栏:ExcelApp.Caption :

delphi 完全控制Excel 文件

( 一 ) 使用动态创建的方法 uses ComObj; 首先创建 Excel 对象Var   ExcelApp : Variant ;   ExcelApp := CreateOleObject ( '' Excel.Application '' ) ; 得到 Excel 的行数和列数ExcelApp.worksheets[1].usedrange.rows.countExcelApp.worksheets[1].usedrange.columns.count; 1 ) 显示当前窗口: Exc

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

一.调用Excel的方法:一般情况下有两种方法调用Excel:1.  直接使用Delphi自带的组件:在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet.2.动态创建Excel文件:首先创建 Excel 对象,使用ComObj,Excel2000:var ExcelApp: Variant;ExcelApp := CreateOleObject( 'Excel.Application' ); 二.导入数据:在程序中,我们可以将查询到的

Delphi中使用python脚本读取Excel数据

Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://seewind.blog.51cto.com/249547/46669前段时间,在正式项目中使用Python来读取Excel表格的数据.具体需求是,项目数据库中有些数据需要根据Excel表格里面的数据进行一些调整,功能应该比较简单.为了学习Pyth

DELPHI中四种EXCEL访问技术实现

一.引言 EXCEL在处理中文报表时功能非常强大,EXCEL报表访问也是信息系统开发中的一个重要内容,本文总结以往开发中所用到的几中EXCEL文件访问方法,在实际工作中也得到了很好的验证,本文列举了其中四种方法的实例与读者共享,程序已在WINDOWS2000操作系统.OFFFICE2000应用软件和DELPHI7环境下调试通过. 二.ADO方式访问EXCEL文件 ADO方式访问EXCEL文件时,将EXCEL文件看作一个等同Oracle.MS SQLServer等数据库的一个ODBC数据源本文应用

ActiveX数据对象之事务控制在VB和DELPHI中的应用

本文发表在中国人民解放军"信息工程大学"学报 2001年第3期. ActiveX数据对象之事务控制在VB和DELPHI中的应用                     马根峰1   ,  孙艳2  , 宋伟1                       ( 1.重庆邮电学院 ,重庆,400065 :2. 铁道部第十九工程局四处,通辽,028000  ) 摘要      事务控制是数据库应用系统中的关键技术之一,本文一开始先对事务控制的概念以及微软的 ActiveX数据对象(ADO)的事

delphi中如何动态链接excel格式数据库

一般要两步,首先确定XLS文件(用打开对话框可以实现),再找到对应的页(作一个循环,再写入一个COMBOBOX)uses Excel97,(ExcelXP,)Excel2000 //注意顺序ExcelXP自动加添加控件: ExcelApplication1: TExcelApplication; ExcelWorksheet1: TExcelWorksheet; ExcelWorkbook1: TExcelWorkbook; Edit1: TEdit; OpenDialog1: TOpenDia

DELPHI中的多线程【深入VCL源码】

线程的基础知识 线程的组成.线程有两部分组成. 1.一个是线程的内核对象,操作系统用它来对线程实施管理.内核对象也是系统用来存放线程统计信息的地方. 2.另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量. 进程从来不执行任何东西,它只是线程的容器.线程总是在某个进程环境中创建的,而且它的整个寿命期都在该进程中.这意味着线程在它的进程地址空间中执行代码,并且在进程的地址空间中对数据进行操作.因此,如果在单进程环境中,你有两个或多个线程正在运行,那么这两个线程将共享单个地址空

Delphi中的消息处理

1.windows的消息驱动体系  在windows系统中,消息传递是实现对乡间通信和控制的主要手段.可以额系统都以消息驱动的方式工作.系统中发生的用户输入操作.显示信息的改变.系统环境参数变化等所有时间都以系统定义消息的形式出现在相关的应用程序和窗口.所以程序设计的主要任务就是为这些消息的处理设计代码. 在应用程序中,发送者可以通过发送消息要求接收者完成相应的处理.当程序运行时,windows系统为每个应用程序实例建立一个消息队列,一次保存发送给该程序实例的消息,在应用程序的主控部分,需要设置