Delphi汇出Excel时Excel单元格格式设置附Delphi操作Excel方法.docx
- 文档编号:23716362
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:9
- 大小:46.66KB
Delphi汇出Excel时Excel单元格格式设置附Delphi操作Excel方法.docx
《Delphi汇出Excel时Excel单元格格式设置附Delphi操作Excel方法.docx》由会员分享,可在线阅读,更多相关《Delphi汇出Excel时Excel单元格格式设置附Delphi操作Excel方法.docx(9页珍藏版)》请在冰豆网上搜索。
Delphi汇出Excel时Excel单元格格式设置附Delphi操作Excel方法
【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
虚线xlHairline1
实线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:
varExcelApp:
Variant;
ExcelApp:
=CreateOleObject('Excel.Application');
1)显示当前窗口:
ExcelApp.Visible:
=True;
2)更改Excel标题栏:
ExcelApp.Caption:
='应用程序调用MicrosoftExcel';
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)工作表保存:
ifnotExcelApp.ActiveWorkBook.Savedthen
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;//SelectAllCells
ExcelApp.Selection.Locked=True;//LockSelectedCells
(二)使用Delphi控件方法
在Form中分别放入ExcelApplication,ExcelWorkbook和ExcelWorksheet。
1)打开Excel:
ExcelApplication1.Connect;
2)显示当前窗口:
ExcelApplication1.Visible[0]:
=True;
3)更改Excel标题栏:
ExcelApplication1.Caption:
='应用程序调用MicrosoftExcel';
4)添加新工作簿:
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
5)添加新工作表:
varTemp_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)工作表保存:
ifnotExcelApplication1.ActiveWorkBook.Savedthen
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;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Delphi 汇出 Excel 单元格 格式 设置 操作 方法