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

四、单元格设置  
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

ExcelWorksheet1.PageSetup.CenterFooter:='第 &P 页,共 &N 页'; //设置页脚 
 ExcelWorksheet1.Cells.Item[2,3].select; //选中第二行第三列的表格 
 ExcelApplication1.ActiveWindow.FreezePanes:=True; //将此表格设为冻结 
 ExcelWorksheet1.PageSetup.Orientation:=2; //设置为横向

MaxRow:=Excel.WorkSheets[1].UsedRange.Rows.Count;

MaxCol:=Excel.WorkSheets[1].UsedRange.Columns.Count;

阅读更多
个人分类: DELPHI
想对作者说点什么? 我来说一句

Delphi中控制Excel技巧全演示.rar

2008年04月15日 210KB 下载

Delphi控制Excel

2010年07月31日 11KB 下载

VB操作EXCEL

2012年10月19日 3KB 下载

Delphi中控制扫描仪 带源代码

2011年11月11日 36KB 下载

delphi调用扫描仪

2008年11月28日 496KB 下载

Delphi 中控制 Word,xml,dll 等操作

2012年01月28日 28KB 下载

没有更多推荐了,返回首页

不良信息举报

Delphi中控制Excel

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭