您的位置:首页 > 编程语言 > Delphi

Delphi中控制Excel

2007-11-12 09:32 211 查看

用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:=@




四、单元格设置


1.设置单元格线框


Excel.ActiveSheet.Range[B10:C13].Borders
.LineStyle := xlNone


Excel.ActiveSheet.Range[B10:C13].Borders
.Weight := xlThin




边框的类型 Borders


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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: