zoukankan
html css js c++ java
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
查看全文
相关阅读:
myeclipse连接并运行sql文件
搜集的一些常用的方法
使用SolrJ代码导入,发布搜索服务
solr客户端的使用
Ubuntu搭建solr搜索服务器
Intersecting Lines(叉积,方程)
Labyrinth(记忆化BFS)
Segments(叉积)
TOYS(叉积)
Treasures and Vikings(两次搜索)
原文地址:https://www.cnblogs.com/bingege/p/1634605.html
最新文章
洛谷P3726 [AH2017/HNOI2017]抛硬币(组合数+扩展Lucas)
uoj#119. 【UR #8】决战圆锥曲线(线段树+复杂度分析)
洛谷P3301 [SDOI2013]方程(扩展Lucas+组合计数)
CF525E Anya and Cubes(meet in the middle)
洛谷P5206 [WC2019] 数树(生成函数+容斥+矩阵树)
洛谷P3784 [SDOI2017]遗忘的集合(生成函数)
[51nod1220] 约数之和(杜教筛+莫比乌斯反演)
先进先出算法(FIFO)——页面置换
加法变乘法——第六届蓝桥杯C语言B组(省赛)第六题
时间片轮转——进程调度
热门文章
最高优先级算法——进程调度
发现环——第八届蓝桥杯C语言B组(国赛)第四题
希尔伯特曲线——第八届蓝桥杯C语言B组(国赛)第三题
磁砖样式——第八届蓝桥杯C语言B组(国赛)第二题
关于求负数补码
乘积尾零——第九届蓝桥杯C语言B组(省赛)第三题
一步之遥——第七届蓝桥杯C语言B组(国赛)第一题
使用对象作为hashMap的键,需要覆盖hashcode和equals方法
myeclipse maven工程调试调试
遇到的错误
Copyright © 2011-2022 走看看