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

Delphi控制Excel(一)

2014-06-16 14:42 260 查看
用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

ExcelWorksheet1.PageSetup.CenterFooter:='第 &P 页,共 &N 页'; //设置页脚 

 ExcelWorksheet1.Cells.Item[2,3].select; //选中第二行第三列的表格 

 ExcelApplication1.ActiveWindow.FreezePanes:=True; //将此表格设为冻结 

 ExcelWorksheet1.PageSetup.Orientation:=2; //设置为横向
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  delphi excel