【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
公司宣传管理制度01-07
统编人教部编版八年级下册历史第二单元社会主义制度的建立与社会主义建设的探索单元测试卷04-27
神奇的胖大海作文500字07-14
老家的年味作文700字06-18
最新盐业体制改革03-18
2022年江苏大学流体机械工程技术研究中心801理论力学考研冲刺狂04-18
关于描写人生价值观好句好段02-08
《孟子二章》练习题级答案05-18
听海的声音作文500字06-22
- 教师招聘考试真题(中学数学科目)及答案 - 图文
- 读《光辉的旗帜》有感
- 学生会副部长竞选讲稿
- 江苏省石油化工码头企业安全生产标准化考评细则 - 图文
- 2016尔雅 民俗资源与旅游 期末考试答案 整理
- 九年级华师大《二次函数》全章教案
- 生化作业6
- 串口资料
- 2014北大附中初三数学二模复习策略
- 曼尼希反应
- 努肉孜节2012
- 卫生部关于印发《关于卫生监督体制改革实 施的若干意见》和《关
- 《生活中的线条》教学设计
- 广告学概论讲义 - 图文
- VS1真空断路器原理图及两种VS1真空断路器的介绍
- 晨读倡议书 - 致全国青年朋友
- 建筑物理复习(建筑热工学) - 图文
- 高级消防与精通急救题库 doc
- YJK软件的优化设计
- 小学生必背古诗100首(带拼音)
- Excel
- Delphi
- 汇出
- 单元
- 设置
- 操作
- 格式
- 继电保护规程
- 2018年辽宁省沈阳市中考物理试题及参考答案(word解析版)
- 2012-2014年1季度西北地区造纸行业财务指标分析季报
- New Zealand
- 资产管理有限公司构想及筹建运营方案【完整版】
- 蒙牛的事件营销之道
- cad一张图上不同绘图比例如何设置
- 两河口导流隧洞混凝土产生缺陷的原因分析及处理方法
- 高速公路总体施工组织设计最终版
- 离子交换树脂基础知识
- 2014年中考历史复习讲义 - 图文
- 2011时事政治试题及答案
- 《综合技能训练》技术文档
- 海南省海口市第二中学2015-2016学年度第一学期七年级英语段考试
- 高中历史必修三学案 - 图文
- 应急预案
- 丰南区凯恒钢铁有限公司trt节能发电项目申请立项环境影响评估报
- 初二地理生物会考工作计划
- 《C语言程序设计教程》补充习题
- 《实用语文》第三 册部分教案 - 图文