【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel
更新时间:2024-05-25 05:03:01 阅读量: 综合文库 文档下载
【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)
一个例子:
excelworksheet1.Cells.Item[row,3]. numberformatlocal:='$#,##0.00;[红色]-$#,##0.00';
excelworksheet1.Cells.Item[row,3].Formula:='=SUM(R[-'+inttostr(row-rowflag+1)+']C:R[-1]C)';
excelworksheet1.Cells.Item[row,3].Borders[3].LineStyle :=xlContinuous; excelworksheet1.Cells.Item[row,3].Borders[4].LineStyle :=xlDouble; excelworksheet1.Cells.Item[row,4].Borders[3].LineStyle :=xlContinuous; excelworksheet1.Cells.Item[row,4].Borders[4].LineStyle :=xlDouble; excelworksheet1.Cells.Item[row,4].Formula:='=R[-1]C'; 注:不知道公式及格式,均可通过录制宏找出对应公式及格式。 效果如下图:
资料来自网络 单元格设置 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
(其中1:为左 2:右 3:顶 4:底 5:斜\\ 6:斜/)
线条类型LineStyle,宽度Weight 单条线的LineStyle := xlContinuous 双条线的LineStyle := xlDouble 虚线 xlHairline 1 实线 xlThin 中实线 xlMedium 粗实线 xlThick
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;
7.从数字类型转换成文本类型(不知道格式化字符串,请录制宏,抽出宏中格式化字符串。)
excelworksheet1.Cells.Item[row,10].numberformatlocal:='@'; excelworksheet1.Cells.Item[row,10].NumberFormat :='hh:mm:ss' excelworksheet1.Cells.Item[row,9].numberformatlocal:='$#,##0.00;[红色]-$#,##0.00';
8.加公式(不知道公式格式,请录制宏,抽出宏中公式格式。) excelworksheet1.Cells.Item[row,10].Formula:='=R[-1]C+RC[-1]'; ExApp.cells[9+iLoop,6].value:='=SUM(G'+ inttostr(9+iLoop)+':H'+ inttostr(9+iLoop)+')';
附:Delphi操作Excel方法 (一) 使用动态创建的方法 (二) 使用Delphi 控件方法
一) 使用动态创建的方法
首先创建 Excel 对象,使用ComObj: var ExcelApp: Variant;
ExcelApp := CreateOleObject( 'Excel.Application' );
1) 显示当前窗口:ExcelApp.Visible := True;
2) 更改 Excel 标题栏:ExcelApp.Caption := '应用程序调用 Microsoft Excel'; 3) 添加新工作簿:ExcelApp.WorkBooks.Add;
4) 打开已存在的工作簿:ExcelApp.WorkBooks.Open( 'C:\\Excel\\Demo.xls' ); 5) 设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate; 或 ExcelApp.WorksSheets[ 'Sheet2' ].Activate;
6) 给单元格赋值:ExcelApp.Cells[1,4].Value := '第一行第四列'; 7) 设置指定列的宽度(单位:字符个数),以第一列为例:
ExcelApp.ActiveSheet.Columns[1].ColumnWidth := 5;
8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
9) 在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows.PageBreak := 1; 10) 在第8列之前删除分页符:
ExcelApp.ActiveSheet.Columns[4].PageBreak := 0; 11) 指定边框线宽度:
ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 1-左 2-右 3-顶 4-底 5-斜( \\ ) 6-斜( / ) 12) 清除第一行第四列单元格公式:
ExcelApp.ActiveSheet.Cells[1,4].ClearContents; 13) 设置第一行字体属性:
ExcelApp.ActiveSheet.Rows[1].Font.Name := '隶书'; ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue; ExcelApp.ActiveSheet.Rows[1].Font.Bold := True; ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;
14) 进行页面设置: a.页眉:
ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示'; b.页脚:
ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页'; c.页眉到顶端边距2cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; d.页脚到底端边距3cm:
ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; e.顶边距2cm:
ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035; f.底边距2cm:
ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035; g.左边距2cm:
ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035; h.右边距2cm:
ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035; i.页面水平居中:
ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中:
ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线:
ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;
15) 拷贝操作: a.拷贝整个工作表:
ExcelApp.ActiveSheet.Used.Range.Copy; b.拷贝指定区域:
ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy; c.从A1位置开始粘贴:
ExcelApp.ActiveSheet.Range.[ 'A1' ].PasteSpecial; d.从文件尾部开始粘贴:
ExcelApp.ActiveSheet.Range.PasteSpecial;
16) 插入一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Insert; b. ExcelApp.ActiveSheet.Columns[1].Insert; 17) 删除一行或一列:
a. ExcelApp.ActiveSheet.Rows[2].Delete; b. ExcelApp.ActiveSheet.Columns[1].Delete; 18) 打印预览工作表:
ExcelApp.ActiveSheet.PrintPreview; 19) 打印输出工作表:
ExcelApp.ActiveSheet.PrintOut; 20) 工作表保存:
if not ExcelApp.ActiveWorkBook.Saved then ExcelApp.ActiveSheet.PrintPreview; 21) 工作表另存为:
ExcelApp.SaveAs( 'C:\\Excel\\Demo1.xls' );
22) 放弃存盘:
ExcelApp.ActiveWorkBook.Saved := True; 23) 关闭工作簿:
ExcelApp.WorkBooks.Close; 24) 退出 Excel: ExcelApp.Quit; 25)锁定 Excel:
ExcelApp.Cells.Select;//Select All Cells
ExcelApp.Selection.Locked = True;// Lock Selected Cells
(二) 使用Delphi 控件方法
在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 1) 打开Excel :ExcelApplication1.Connect; 2) 显示当前窗口:ExcelApplication1.Visible[0]:=True;
3) 更改 Excel 标题栏:ExcelApplication1.Caption := '应用程序调用 Microsoft Excel';
4) 添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5) 添加新工作表:
var Temp_Worksheet: _WorkSheet; begin
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam,0) as _WorkSheet;
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet); End;
6) 打开已存在的工作簿:
ExcelApplication1.Workbooks.Open (c:\\a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
7) 设置第2个工作表为活动工作表: ExcelApplication1.WorkSheets[2].Activate; 或 ExcelApplication1.WorksSheets[ 'Sheet2' ].Activate;
8) 给单元格赋值:
ExcelApplication1.Cells[1,4].Value := '第一行第四列';
9) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApplication1.ActiveSheet.Columns[1].ColumnWidth := 5;
10) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: ExcelApplication1.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米
11) 在第8行之前插入分页符:
ExcelApplication1.WorkSheets[1].Rows.PageBreak := 1;
12) 在第8列之前删除分页符:
ExcelApplication1.ActiveSheet.Columns[4].PageBreak := 0;
13) 指定边框线宽度:
ExcelApplication1.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3; 1-左 2-右 3-顶 4-底 5-斜( \\ ) 6-斜( / )
14) 清除第一行第四列单元格公式:
ExcelApplication1.ActiveSheet.Cells[1,4].ClearContents;
15) 设置第一行字体属性:
ExcelApplication1.ActiveSheet.Rows[1].Font.Name := '隶书'; ExcelApplication1.ActiveSheet.Rows[1].Font.Color := clBlue; ExcelApplication1.ActiveSheet.Rows[1].Font.Bold := True; ExcelApplication1.ActiveSheet.Rows[1].Font.UnderLine := True; 设置第9列为文本,避免AMT被科学计数,当然在前加'也可解决此问题
excelworksheet1.Cells.Item[row,9].numberformatlocal:='@';
16) 进行页面设置: a.页眉:
ExcelApplication1.ActiveSheet.PageSetup.CenterHeader := '报表演示'; b.页脚:
ExcelApplication1.ActiveSheet.PageSetup.CenterFooter := '第&P页'; c.页眉到顶端边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 2/0.035; d.页脚到底端边距3cm:
ExcelApplication1.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; e.顶边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.TopMargin := 2/0.035; f.底边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.BottomMargin := 2/0.035; g.左边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.LeftMargin := 2/0.035; h.右边距2cm:
ExcelApplication1.ActiveSheet.PageSetup.RightMargin := 2/0.035; i.页面水平居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中:
ExcelApplication1.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线:
ExcelApplication1.ActiveSheet.PageSetup.PrintGridLines := True;
17) 拷贝操作:
a.拷贝整个工作表:
ExcelApplication1.ActiveSheet.Used.Range.Copy;
b.拷贝指定区域:
ExcelApplication1.ActiveSheet.Range[ 'A1:E2' ].Copy;
c.从A1位置开始粘贴:
ExcelApplication1.ActiveSheet.Range.[ 'A1' ].PasteSpecial;
d.从文件尾部开始粘贴:
ExcelApplication1.ActiveSheet.Range.PasteSpecial;
18) 插入一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Insert; b. ExcelApplication1.ActiveSheet.Columns[1].Insert;
19) 删除一行或一列:
a. ExcelApplication1.ActiveSheet.Rows[2].Delete; b. ExcelApplication1.ActiveSheet.Columns[1].Delete;
20) 打印预览工作表:
ExcelApplication1.ActiveSheet.PrintPreview;
21) 打印输出工作表:
ExcelApplication1.ActiveSheet.PrintOut;
22) 工作表保存:
if not ExcelApplication1.ActiveWorkBook.Saved then ExcelApplication1.ActiveSheet.PrintPreview;
23) 工作表另存为:
ExcelApplication1.SaveAs( 'C:\\Excel\\Demo1.xls' );
24) 放弃存盘:
ExcelApplication1.ActiveWorkBook.Saved := True;
25) 关闭工作簿:
ExcelApplication1.WorkBooks.Close;
26) 退出 Excel: ExcelApplication1.Quit; ExcelApplication1.Disconnect;
正在阅读:
【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel05-25
唯物主义和经验批判主义09-22
提升设计师的设计能力10-07
化探单元素异常统计内容参数公式10-11
实习护士出科小结02-16
建筑施工技术知识点 最新 -11-30
2012年湖南省中学生篮球比赛 - 图文12-15
职工大会实施细则03-16
雷锋精神就在我身边作文600字06-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- Excel
- Delphi
- 汇出
- 单元
- 设置
- 操作
- 格式
- 继电保护规程
- 2018年辽宁省沈阳市中考物理试题及参考答案(word解析版)
- 2012-2014年1季度西北地区造纸行业财务指标分析季报
- New Zealand
- 资产管理有限公司构想及筹建运营方案【完整版】
- 蒙牛的事件营销之道
- cad一张图上不同绘图比例如何设置
- 两河口导流隧洞混凝土产生缺陷的原因分析及处理方法
- 高速公路总体施工组织设计最终版
- 离子交换树脂基础知识
- 2014年中考历史复习讲义 - 图文
- 2011时事政治试题及答案
- 《综合技能训练》技术文档
- 海南省海口市第二中学2015-2016学年度第一学期七年级英语段考试
- 高中历史必修三学案 - 图文
- 应急预案
- 丰南区凯恒钢铁有限公司trt节能发电项目申请立项环境影响评估报
- 初二地理生物会考工作计划
- 《C语言程序设计教程》补充习题
- 《实用语文》第三 册部分教案 - 图文