Delphi操作EXCEL函数整理
怎么在delphi中读取Excel数据(各种详细操作)
![怎么在delphi中读取Excel数据(各种详细操作)](https://img.taocdn.com/s3/m/0cf30e44360cba1aa911da11.png)
怎么在delphi中读取Excel数据(各种详细操作)转( 一) 使用动态创建的方法首先创建Excel 对象,使用ComObj :VarExcelApp : 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 ] .ColumnsWidth := 5 ;8 ) 设置指定行的高度(单位:磅)(1磅=0.035 厘米),以第二行为例:ExcelApp.ActiveSheet.Rows [ 2 ] .RowHeight := 1 / 0.035 ; // 1厘米9 ) 在第8行之前插入分页符:ExcelApp.WorkSheets [ 1 ] .Rows [ 8 ] .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 ] := '' 隶书'' ;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.拷贝整个工作表:ed.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 ThenExcelApp.ActiveSheet.PrintPreview ;21 ) 工作表另存为:ExcelApp.SaveAs ( '' C : \Excel\Demo1.xls '' ) ;22 ) 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True ;23 ) 关闭工作簿:ExcelApp.WorkBooks.Close ;24 ) 退出Excel:ExcelApp.Quit ;( 二) 使用Delphi 控件方法在Form中分别放入ExcelApplication , ExcelWorkbook和ExcelWorksheet。
怎么在delphi中读取Excel数据(各种详细操作)
![怎么在delphi中读取Excel数据(各种详细操作)](https://img.taocdn.com/s3/m/392acd342f60ddccda38a096.png)
怎么在delphi中读取Excel数据(各种详细操作)转( 一) 使用动态创建的方法首先创建Excel 对象,使用ComObj :VarExcelApp : 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 ] .ColumnsWidth := 5 ;8 ) 设置指定行的高度(单位:磅)(1磅=0.035 厘米),以第二行为例:ExcelApp.ActiveSheet.Rows [ 2 ] .RowHeight := 1 / 0.035 ; // 1厘米9 ) 在第8行之前插入分页符:ExcelApp.WorkSheets [ 1 ] .Rows [ 8 ] .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 ] := '' 隶书'' ;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.拷贝整个工作表:ed.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 ThenExcelApp.ActiveSheet.PrintPreview ;21 ) 工作表另存为:ExcelApp.SaveAs ( '' C : \Excel\Demo1.xls '' ) ;22 ) 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True ;23 ) 关闭工作簿:ExcelApp.WorkBooks.Close ;24 ) 退出Excel:ExcelApp.Quit ;( 二) 使用Delphi 控件方法在Form中分别放入ExcelApplication , ExcelWorkbook和ExcelWorksheet。
如何在Delphi中操作Excel
![如何在Delphi中操作Excel](https://img.taocdn.com/s3/m/354babfd770bf78a65295473.png)
如何在Delphi中操作Excel在数据库应用软件的开发过程中,经常需要把数据转换成Excel文件,让用户作进一步的数据处理。
而Delphi是开发数据库应用系统的常用工具,那么,如何在Delphi中操作Excel呢?我们知道,在Microsoft Office软件中有一种内嵌的编程语言VBA,它是一种宏语言,利用它,你可以编写出功能强大的代码,如打开文件、修改数据、保存数据和设置字体等。
另一方面,Microsoft Office软件中的宏能以VBA代码的形式记录下你的操作过程。
因此借助宏操作,可以很轻松地实现某一功能,并把这些代码稍作修改嵌入到你的软件中。
但是VBA也存在一个缺点,它必须有Microsoft Office作平台,在哪里编写,必须在哪里执行。
例如在Excel下编写的一段VBA代码,则它只有在Excel下才能运行。
因此,笔者的方法就是把VBA代码嵌入到Delphi中,从而实现用Delphi操作Excel。
下面,我们以Delphi程序为例,说明这种调用方法:Unit excel;interfaceusesWindows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs, StdCtrls,ComObj;//ComObj是操作OLE对象的函数集type TForm1 =class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);vareclApp,WorkBook:Variant;//声明为OLE Automation 对象xlsFileName:string;beginxlsFileName:=‘ex.xls‘;try//创建OLE对象Excel Application与 WorkBookeclApp:=CreateOleObject(‘Excel.Application‘);WorkBook:=CreateOleobject(‘Excel.Sheet‘);exceptShowMessage(‘您的机器里未安装Microsoft Excel。
delphi控制excel大全(完全版)
![delphi控制excel大全(完全版)](https://img.taocdn.com/s3/m/4ec53bf64693daef5ef73d70.png)
下面是我写的通用文档微机管理系统的打印部分原代码,包括合并execl单元格,加入分页符号,设置行高,列宽,设置execl页头,设置每页记录数,画单元格边框,调用execl模板等等procedure TfrmMain.Button3Click(Sender: TObject); //动态打印excel报表vartiaojian : string; //tiaojian 为一个sql查询语句,全宗号,目录号,起始日期为一数据库字段 begintiaojian := ';if Edit7.Text <> ' thenbegintiaojian := tiaojian + ' ( 全宗号=' + EDit7.Text + ' ) and';end;if Edit8.Text <> ' thenbegintiaojian := tiaojian + ' ( 目录号=' + Edit8.Text + ') and';end;if Edit9.Text <> ' thenbegintiaojian := tiaojian + ' ( 起始日期>= ' + Edit9.Text + ' ) and';endelse tiaojian := tiaojian + ' ( 起始日期>=0) and';if Edit10.Text <> ' thenbegintiaojian := tiaojian + ' ( 起始日期<= ' + Edit10.Text + ' ) and';end;tiaojian := copy(tiaojian, 1, length(tiaojian) - 3); //tiaojian 为一个sql查询语句Printanjuan(tiaojian); //调用打印过程ShellExecute(Handle, 'Open', PChar(GetCurpath + 'temp.xls'), nil, nil, sw_shownormal); //调用excel查看生成的文件ProgressBar1.Position:=0; //ProgressBar1 为一个进程条控件end;procedure TfrmMain.Printanjuan(tiaojiao:string);varnowhangi, i, jilushu, LCID: integer; //nowhangi当前execl的所在行,jilushu当前的记录位置ssql, PathName: string;oldcur: tcursor;ExcelApplication1: TExcelApplication;ExcelWorkbook1: TExcelWorkbook;ExcelWorkSheet1: TExcelWorksheet;xl, Cell1: olevariant;beginLCID := LOCALE_USER_DEFAULT;if FileExists(GetCurpath + 'temp.xls') then //删除动态生成的临时temp.xls文件 tryDeleteFile(GetCurpath + 'temp.xls');exceptend;ssql := '; //执行sql查询ssql := 'select * from mainanjuan where (' + tiaojiao + ') order by 系统编号'; doadosql(dm1.queryanjuan, ssql);begintryExcelApplication1 := TExcelApplication.Create(Self);ExcelWorkbook1 := TExcelWorkbook.Create(Self);ExcelWorkSheet1 := TExcelWorksheet.Create(Self);exceptshowmessage('对不起,您没有安装Excel 2000!');abort;end;end;ExcelApplication1.Connect;ExcelApplication1.Workbooks.Add(null, 0);//如果调用一个模板,改动该句如://ExcelApplication1.Workbooks.Add('c:\zichang.xls', 0);ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks[1]);ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Sheets[1] as _WorkSheet); //写入execlProgressBar1.Position:=5;if dm1.queryanjuan.RecordCount > 0 thenbegin//设置列宽,行高nowhangi := 1;ExcelApplication1.Range['A1', 'A1'].ColumnWidth := 3.5;ExcelApplication1.Range['B1', 'B1'].ColumnWidth := 3.5;ExcelApplication1.Range['C1', 'C1'].ColumnWidth := 3.5;ExcelApplication1.Range['D1', 'D1'].ColumnWidth := 8;ExcelApplication1.Range['E1', 'E1'].ColumnWidth := 20;ExcelApplication1.Range['F1', 'F1'].ColumnWidth := 8.75;ExcelApplication1.Range['G1', 'G1'].ColumnWidth := 8.75;ExcelApplication1.Range['H1', 'H1'].ColumnWidth := 3.0;ExcelApplication1.Range['I1', 'I1'].ColumnWidth := 3.0;ExcelApplication1.Range['J1', 'J1'].ColumnWidth := 3.0;//设置每页的记录数目for jilushu := 1 to (dm1.queryanjuan.RecordCount) dobegin //ProgressBar1 为一个进程条控件ProgressBar1.Position:= (jilushu*100) div (dm1.queryanjuan.RecordCount);tryif jilushu mod strtoint(edit14.Text) = 1 then //edit14.Text的值为一个数字,表示每页的记录数目begin //打印每页的页头ExcelApplication1.Range['A' + inttostr(nowhangi), 'J' +inttostr(nowhangi)].Merge(xl);//合并execl单元格ExcelWorkSheet1.cells.Item[nowhangi, 1] := fontselectbox.FontName; ExcelWorkSheet1.cells.Item[nowhangi, 1].font.size := 24;ExcelWorkSheet1.cells.Item[nowhangi, 1].RowHeight := 32;ExcelWorkSheet1.cells.Item[nowhangi, 1] := '案卷目录';ExcelWorkSheet1.cells.Item[nowhangi, 1].HorizontalAlignment := xlCenter;ExcelWorkSheet1.cells.Item[nowhangi + 1, 1] :=fontselectbox.FontName;ExcelWorkSheet1.cells.Item[nowhangi + 1, 1].font.size := 12;ExcelWorkSheet1.cells.Item[nowhangi + 1, 1].Font.Bold := True;ExcelWorkSheet1.cells.Item[nowhangi + 1, 1].Orientation := xlVertical;ExcelWorkSheet1.cells.Item[nowhangi + 1, 1].VerticalAlignment := xlTop;ExcelWorkSheet1.cells.Item[nowhangi + 1, 1] := '顺序号';ExcelWorkSheet1.cells.Item[nowhangi + 1, 2] :=fontselectbox.FontName;ExcelWorkSheet1.cells.Item[nowhangi + 1, 2].font.size := 12;ExcelWorkSheet1.cells.Item[nowhangi + 1, 2].Font.Bold := True;ExcelWorkSheet1.cells.Item[nowhangi + 1, 2].Orientation := xlVertical;ExcelWorkSheet1.cells.Item[nowhangi + 1, 2].VerticalAlignment := xlTop;ExcelWorkSheet1.cells.Item[nowhangi + 1, 2] := '全宗号';ExcelWorkSheet1.cells.Item[nowhangi + 1, 3] :=fontselectbox.FontName;ExcelWorkSheet1.cells.Item[nowhangi + 1, 3].font.size := 12;ExcelWorkSheet1.cells.Item[nowhangi + 1, 3].Font.Bold := True;ExcelWorkSheet1.cells.Item[nowhangi + 1, 3].Orientation := xlVertical;ExcelWorkSheet1.cells.Item[nowhangi + 1, 3].VerticalAlignment := xlTop;ExcelWorkSheet1.cells.Item[nowhangi + 1, 3] := '目录号';//加入分页符号if (jilushu div strtoint(edit14.Text) > 0) thenbeginCell1 := ExcelWorksheet1.Cells.Item[nowhangi, 11];ExcelWorksheet1.VPageBreaks.Add(Cell1);ExcelWorksheet1.HPageBreaks.Add(Cell1);end;nowhangi := nowhangi + 2;end;//打印查询数据ExcelWorkSheet1.cells.Item[nowhangi, 1].RowHeight := 60;ExcelWorkSheet1.cells.Item[nowhangi, 1] := fontselectbox.FontName; ExcelWorkSheet1.cells.Item[nowhangi, 1].font.size := strtoint(Edit11.text);ExcelWorkSheet1.cells.Item[nowhangi, 1].WrapText := True;ExcelWorkSheet1.cells.Item[nowhangi, 1] := inttostr(jilushu);ExcelWorkSheet1.cells.Item[nowhangi, 2] := fontselectbox.FontName; ExcelWorkSheet1.cells.Item[nowhangi, 2].WrapText := True;ExcelWorkSheet1.cells.Item[nowhangi, 2].font.size := strtoint(Edit11.text);ExcelWorkSheet1.cells.Item[nowhangi, 2] := dm1.queryanjuan.fieldbyname('全宗号').asstring;ExcelWorkSheet1.cells.Item[nowhangi, 3] := fontselectbox.FontName; ExcelWorkSheet1.cells.Item[nowhangi, 3].WrapText := True;ExcelWorkSheet1.cells.Item[nowhangi, 3].font.size := strtoint(Edit11.text);ExcelWorkSheet1.cells.Item[nowhangi, 3] := dm1.queryanjuan.fieldbyname('目录号').asstring;exceptend;dm1.queryanjuan.Next;nowhangi := nowhangi + 1;end;end;try //插入页码ExcelWorkSheet1.PageSetup.RightHeader := '&9第&P 页共&N页';exceptshowmessage('您可能没有安装打印机');end;for i := 1 to nowhangi - 1 do //画单元格边框if taoda.Checked thenbeginwith ExcelApplication1.Range['A' + inttostr(i), 'J' + inttostr(i)].Borders dobeginLineStyle := xlContinuous;Weight := xlThin;ColorIndex := xlAutomatic;end;end;ExcelWorkBook1.SaveCopyAs(GetCurpath + 'temp.xls');ExcelApplication1.DisplayAlerts[LCID] := False;ExcelApplication1.Quit;ExcelWorksheet1.Disconnect;ExcelWorkbook1.Disconnect;ExcelApplication1.Disconnect;end;procedure TfrmMain.DoAdoSql(CurADODS: TADODataSet; SSql: string); varoldcur: tcursor;beginsb1.Panels[0].Text := '正在查询数据……'; //sb1:Tstatusbar控件sb1.Refresh;oldcur := Screen.Cursor;screen.cursor := crHourGlass;tryif CurADODS.Active = true then CurADODS.Close;mandText := SSql;CurADODS.Open;finallyscreen.Cursor := oldcur;end;end;。
【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)
![【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)](https://img.taocdn.com/s3/m/96192c8a02d276a200292e30.png)
【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 := xlNoneExcel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin边框的类型 Borders[N]xlEdgeLeft 左=1xlEdgeRight 右=2xlEdgeTop 顶=3xlEdgeBottom 底=4xlDiagonalUp 左上右下=5xlDiagonalDown 左下右上=6xlEdgeLeft 外部左边框=7xlEdgeTop 外部上边框=8xlEdgeBottom 外部下边框=9xlEdgeRight 外部右边框=10xlInsideVertical 内部竖线=11xlInsideHorizontal 内部横线=12(其中1:为左 2:右 3:顶 4:底 5:斜\ 6:斜/)线条类型LineStyle,宽度Weight单条线的LineStyle := xlContinuous双条线的LineStyle := xlDouble虚线 xlHairline 1实线 xlThin中实线 xlMedium粗实线 xlThick2.给单元格赋值:Excel.Cells[1,4].Value := 第一行第四列;3.设置第一行字体属性(隶书,蓝色,加粗,下划线):Excel.ActiveSheet.Rows[1] := 隶书; Excel.ActiveSheet.Rows[1].Font.Color := clBlue; Excel.ActiveSheet.Rows[1].Font.Bold := True; Excel.ActiveSheet.Rows[1].Font.UnderLine := True;4.设置整个表字体为9Excel.Cells.Font.Size:=9;5.在第8行之前插入/删除分页符:Excel.WorkSheets[1].Rows[8].PageBreak := 1; (0为删除)6.清除第一行第四列单元格公式:Excel.ActiveSheet.Cells[1,4].ClearContents;7.从数字类型转换成文本类型(不知道格式化字符串,请录制宏,抽出宏中格式化字符串。
delphi excel 单元格 赋值公式
![delphi excel 单元格 赋值公式](https://img.taocdn.com/s3/m/24acff79a9956bec0975f46527d3240c8447a1c0.png)
delphi excel 单元格赋值公式可以通过使用Delphi中的OLE对象来在Excel中给单元格赋值公式。
首先,需要在Delphi中使用`CreateOleObject`函数创建一个Excel的OLE对象。
然后,使用`Application`属性获取Excel应用程序对象,进而打开一个Excel工作簿。
接下来,使用`ActiveSheet`属性来获取当前活动的工作表,并使用`Cells`属性来选择要操作的单元格。
最后,使用`Formula`属性来给单元格赋值公式。
下面是一个示例代码:```pascalvarExcelApp, Workbook, Sheet, Range: OleVariant;begin// 创建Excel的OLE对象ExcelApp := CreateOleObject('Excel.Application');ExcelApp.Visible := True; // 可见Excel应用程序// 打开一个Excel工作簿Workbook :=ExcelApp.Workbooks.Open('C:\Path\to\your\Workbook.xlsx');// 获取当前活动的工作表Sheet := Workbook.ActiveSheet;// 选择要操作的单元格范围Range := Sheet.Cells[1, 1];// 给单元格赋值公式Range.Formula := '=A1+B1';// 保存和关闭工作簿Workbook.Close(True);ExcelApp.Quit;end;```以上是一个简单的例子,可以根据实际需要进行修改和扩展。
注意,在使用完Excel对象后,需要调用`Quit`方法来退出Excel应用程序,并释放相关资源。
delphi excel 例程
![delphi excel 例程](https://img.taocdn.com/s3/m/b7fea508842458fb770bf78a6529647d27283421.png)
delphi excel 例程Delphi Excel 例程:一步一步回答在Delphi中,我们可以使用Excel 例程来实现与Excel文件的交互。
Excel 例程是一组可以通过Delphi编程语言来操作Excel文件的方法和函数。
本文将介绍如何使用Delphi和Excel 例程来创建、读取、写入和操作Excel 文件。
第一步:安装Excel 例程要开始使用Delphi和Excel 例程,我们首先需要安装Excel 例程库。
这可以通过三种方法之一来实现:1. 使用ActiveX组件:在Delphi IDE的“Component”菜单下,选择“Import ActiveX Control”。
在弹出的窗口中,选择“Microsoft Excel xx.x Object Library”(其中"xx.x"表示Excel版本号),然后点击“Install”按钮进行安装。
2. 使用第三方库:你还可以使用第三方库,如TExcelComponent或Flexcel,它们提供了更多的功能和灵活性。
3. 编写自己的Excel 例程:如果你对编程充满信心,你可以自己编写一组Excel 例程,以与Excel文件交互。
不过,这需要一些时间和努力。
第二步:创建一个新的Excel文件在使用Delphi和Excel 例程之前,我们首先需要创建一个Excel文件。
下面是示例代码,展示了如何使用Excel 例程来创建和保存一个新的Excel文件:delphivarExcelApp: Variant;ExcelWorkbook: Variant;ExcelWorksheet: Variant;begin创建Excel应用程序对象ExcelApp := CreateOleObject('Excel.Application');创建一个新的工作簿ExcelWorkbook := ExcelApp.Workbooks.Add;获取第一个工作表ExcelWorksheet := ExcelWorkbook.Worksheets.Item[1];设置单元格的值ExcelWorksheet.Cells[1, 1].Value := 'Hello'; ExcelWorksheet.Cells[1, 2].Value := 'World!';保存工作簿ExcelWorkbook.SaveAs('C:\NewExcelFile.xlsx');关闭Excel应用程序ExcelApp.Quit;end;通过这段代码,我们可以创建一个新的Excel应用程序对象,并在其中创建一个新的工作簿。
Delphi操作EXCEL_函数整理
![Delphi操作EXCEL_函数整理](https://img.taocdn.com/s3/m/c5b9cfe6b8f67c1cfad6b864.png)
一、使用单元:Use :EXCEL 2000, ComObj二、定义var ExcelApp,Sheet,Range: Variant;注释:ExcelApp 为定义的Excel 对象Sheet 为定义的工作表(Sheet)对象Range 为定义的工作表范围三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化1. 创建excel对象:ExcelApp := CreateOleObject( 'Excel.Application' );2. 显示当前窗口:ExcelApp.Visible := True;3. 更改Excel 标题栏:ExcelApp.Caption := '应用程序调用Microsoft Excel';4. 添加新工作簿:ExcelApp.WorkBooks.Add;5 打开已存在的工作簿:ExcelApp.WorkBooks.Open(FilePath);6.设置工作簿默认工作表张数ExcelApp.SheetsInNewWorkbook := 1;7.设置工作表名称ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum].Name := PName;8.工作表初始化Sheet:= ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum];9.工作表范围初始化Range := Sheet.Range['A1:DL1'] ;10.设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate;或ExcelApp.WorksSheets[ 'Sheet2' ].Activate;三、单元格赋值设置数值类型1. 给单元格赋值:ExcelApp.Cells[row, column].Value := '第一行第四列';或Sheet.Cells[row, column] := ‘第一行第四列’;2 清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[row,column].ClearContents;或Sheet.Cells[row,column]. ClearContents3设置单元格数值类型为文字型Range.NumberFormatLocal := '@';四、设置列宽和行高1. 设置指定列的宽度(单位:字符个数):ExcelApp.ActiveSheet.Columns[column].ColumnsWidth := 5;或Sheet.Columns[column].ColumnWidth := 5;2.设置指定行的高度(单位:磅)(1磅=0.035厘米)ExcelApp.ActiveSheet.Rows[row].RowHeight := 1/0.035; // 1厘米或Sheet. Rows [row]. RowHeight:= 1/0.035;五、对齐方式1.水平对齐Range.HorizontalAlignment:=xlCenter; 居中Range.HorizontalAlignment:=xlLeft;居左Range.HorizontalAlignment:=xlRight;居右或Sheet.Cells[row,column].HorizontalAlignment:=xlCenter; 居中Sheet.Cells[row,column].HorizontalAlignment:=xlLeft;居左Sheet.Cells[row,column].HorizontalAlignment:=xlRight;居右2.垂直对齐Range. VerticalAlignment:=xlCenter; 居中Range. VerticalAlignment:= xltop;顶端对齐Range. VerticalAlignment:= xlbottomfont;底部对齐或Sheet.Cells[row,column]. VerticalAlignment:=xlCenter; 居中Sheet.Cells[row,column]. VerticalAlignment:= xltop;顶端对齐Sheet.Cells[row,column]. VerticalAlignment:= xlbottomfont; 底部对齐六、文字控制1.自动换行Range.WrapText:=true;或Sheet.Cells[row,column]. WrapText:=true;2.合并单元格Sheet.range['A17:G17'].Merge;3.跨越合并Sheet.range['C27:D34'].Merge(true);七、字型设置1.设置字体大小Range.Characters.Font.Size := 10;或Sheet.Cells[row,column].Characters.Font.Size := 10;2.字体加重Range.Characters.Font. Bold:= true;或Sheet.Cells[row,column].Characters.Font. Bold:= true;3.字体倾斜Range.Characters.Font. Italic:= true;或Sheet.Cells[row,column].Characters.Font. Italic:= true;4.字体:=’楷体_GB2312'或Sheet.Cells[row,column].Characters.Font. Name:=’楷体_GB2312’5字体样式(常规,斜体,粗体,粗斜体)Range.Characters.Font.FontStyle:=’常规'或Sheet.Cells[row,column].Characters.Font.FontStyle:=’常规'6.下划线Range.Characters.Font.UnderLine := True;或Sheet.Cells[row,column].Characters.Font.UnderLine := True;八、分页符操作1.在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows.PageBreak := 1;或Sheet. Rows. PageBreak := 1;或Range. Rows. PageBreak := 1;2.在第8列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;或Sheet.Columns[4]. PageBreak := 0;或Range.Columns[4].PageBreak :=0;九、关于边框的操作:Border :1-左2-右3-顶4-底5-斜( \ ) 6-斜( / )1.指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[Border].Weight := 3;或Sheet. Borders[Border].Weight := 3;或Range Borders[Border].Weight := 3;2.边框线线条形状Sheet.Borders[Border].linestyle :=1;或Range.Borders[Border]. Linestyle := 1;Linestyle 1:实线2 虚线12 双横线十、关于颜色1. 设置单元格背景色Sheet.Cells[row,column].Interior.ColorIndex := 38;或Range.Interior.ColorIndex := 38;2.字体颜色Range.Characters.Font.Colorindex:=6;或Sheet.Cells[row,column].Characters.Font.Colorindex:=6 Colorindex的值十一、冻结窗口Sheet.Cells[2,3].select;ExcelApp.ActiveWindow.FreezePanes := True;十二、打印设置1.页眉:Sheet.PageSetup.CenterHeader := '报表演示';2.页脚:Sheet.PageSetup.CenterFooter := '第&P页';3页眉到顶端边距2cm:Sheet.PageSetup.HeaderMargin := 2/0.035;4.页脚到底端边距3cm:Sheet.PageSetup.HeaderMargin := 3/0.035;5.顶边距2cm:Sheet.PageSetup.TopMargin := 2/0.035;6.底边距2cm:Sheet.PageSetup.BottomMargin := 2/0.035;7.左边距2cm:Sheet.PageSetup.LeftMargin := 2/0.035;8.右边距2cm:Sheet.PageSetup.RightMargin := 2/0.035;9.页面水平居中:Sheet.PageSetup.CenterHorizontally := 2/0.035;10.页面垂直居中:Sheet.PageSetup.CenterVertically := 2/0.035;11.打印单元格网线:Sheet.PageSetup.PrintGridLines := True;12缩放比例Sheet.PageSetup.zoom := 75;13横向打印Sheet.PageSetup.Orientation:= xllandscape;14 纵向打印Sheet.PageSetup.Orientation:=xlportrait;15.设置打印标题行Sheet.PageSetup.PrintTitleRows := Sheet.Rows['1:3'].Address ;Sheet.PageSetup.PrintTitleColumns := Sheet.Rows[3].Address;16.打印预览工作表:Sheet.PrintPreview;17 打印输出工作表:Sheet.PrintOut;十三、拷贝操作:1.拷贝整个工作表:ed.Range.Copy;2. b.拷贝指定区域:Sheet.Range[ 'A1:E2' ].Copy;3.从A1位置开始粘贴:Sheet.Range.[ 'A1' ].PasteSpecial;4.从文件尾部开始粘贴:Sheet.Range.PasteSpecial;十四、行列的插入删除1. 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Insert;b. ExcelApp.ActiveSheet.Columns[1].Insert;2. 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Delete;b. ExcelApp.ActiveSheet.Columns[1].Delete;十五、Excel保存关闭1.工作表保存:if not ExcelApp.ActiveWorkBook.Saved thenExcelApp.ActiveSheet.PrintPreview;2.工作表另存为:ExcelApp. SaveAs ( filepath);3 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;4. 关闭工作簿:ExcelApp.WorkBooks.Close;5. 退出Excel:ExcelApp.Quit;6. 工作表关闭ExcelApp.WorkBooks.Close ;十六、其他1. 已经使用的行数edRange.Rows.Count;(三)使用Delphi控制Excel二维图在Form中分别放入ExcelApplication,ExcelWorkbook和ExcelWorksheet Var asheet1,achart,range:variant;1)选择当第一个工作簿第一个工作表asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];2)增加一个二维图achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态achart.chart.chartype:=4;4)给二维图赋值series:=achart.chart.seriescollection;range:=sheet1!r2c3:r3c9;series.add(range,true);5)加上二维图的标题achart.Chart.HasTitle:=True;achart.Chart.ChartTitle.Characters.Text:=’Excel二维图’6)改变二维图的标题字体大小achart.Chart.ChartTitle.Font.size:=6;7)给二维图加下标说明achart.Chart.Axes(xlCategory,xlPrimary).HasTitle:=True;achart.Chart.Axes(xlCategory,xlPrimary).AxisTitle.Characters.Text:=’下标说明’;8)给二维图加左标说明achart.Chart.Axes(xlValue,xlPrimary).HasTitle:=True;achart.Chart.Axes(xlValue,xlPrimary).AxisTitle.Characters.Text:=’左标说明’;9)给二维图加右标说明achart.Chart.Axes(xlValue,xlSecondary).HasTitle:=True;achart.Chart.Axes(xlValue,xlSecondary).AxisTitle.Characters.Text:=’右标说明’;10)改变二维图的显示区大小achart.Chart.PlotArea.Left:=5;achart.Chart.PlotArea.Width:=223;achart.Chart.PlotArea.Height:=108;11)给二维图坐标轴加上说明achart.chart.seriescollection[1].NAME:=’坐标轴说明’;。
Delphi控制Excel
![Delphi控制Excel](https://img.taocdn.com/s3/m/1808390003d8ce2f00662386.png)
Delphi控制Excel===================一.使用動態創建的方法首先創建 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].ColumnsWidth := 5;8) 設置指定行的高度(單位:磅)(1磅=0.035厘米),以第二行為例:ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米9) 在第8行之前插入分頁符:ExcelApp.WorkSheets[1].Rows[8].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] := '隸書';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.拷貝整個工作表:ed.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 thenExcelApp.ActiveSheet.PrintPreview;21) 工作表另存為:ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );22) 放棄存盤:ExcelApp.ActiveWorkBook.Saved := True;23) 關閉工作簿:ExcelApp.WorkBooks.Close;24) 退出 Excel:ExcelApp.Quit;二.使用Delphi 控件方法在Form中分別放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
DELPHI控制EXCEL2000操作全集
![DELPHI控制EXCEL2000操作全集](https://img.taocdn.com/s3/m/ab08edd0aa00b52acfc7cada.png)
Delphi控制Excel2000操作全集十分值得收藏的咚咚,对认为有用的人很有用,呵呵-----------------------------------------Delphi控制Excel2000希望这分数据,为论坛中的各位会员关于EXCEL操作的问题提供一些帮助。
同时也希望各位能将自己整理的、或已有的资料共享出来。
这样可以减少大家的「重复劳动」吗?技术在于交流,经验在于积累!!!!一.使用动态创建的方法首先创建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].ColumnsWidth:=5;8)设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例:ExcelApp.ActiveSheet.Rows[2].RowHeight:=1/0.035;//1厘米9)在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows[8].PageBreak:=1;10)在第8列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak:=0;11)指定边框线宽度:ExcelApp.ActiveSheet.Range['B34'].Borders[2].Weight:=3; 1-左2-右3-顶4-底5-斜(\)6-斜(/)12)清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[1,4].ClearContents;13)设置第一行字体属性:ExcelApp.ActiveSheet.Rows[1]:='隶书'; 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:='第&页';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.拷贝整个工作表:ed.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;二.使用Delphi控件方法在Form中分别放入ExcelApplication,ExcelWorkbook和ExcelWorksheet。
Delphi编程之Excel相关
![Delphi编程之Excel相关](https://img.taocdn.com/s3/m/b782020a52ea551810a687a5.png)
Delphi 控制Excel1 创建Excel文件要在Delphi中控制Excel,就必须用到OLE自动化。
现在一般采用OLE2来创建OLE对象,当激活一个OLE对象时,服务器程序仅在容器程序内部激活,这就是所谓的“就地激活”(in-place activation)。
创建Excel文件时,先创建一个OLE对象,然后在对象中建立工作表worksheet,如函数createExcel所示:function createExcel:variant;varv:variant;sheet:variant;beginv:=createoleobject('Excel.Application');//创建OLE对象v.visible:=true;v.workbooks.add(-4167); //添加工作表v.workbooks[1].sheets[1].name:='test';sheet:=v.workbooks[1].sheets['test'];return v;end;2 数据表格控制Excel表格的控制,主要包括数据的导入、修改;单元格的合并、边框的控制;表格的复制、粘贴等。
当报表格式一定的情况下,表格的复制、粘贴显得尤为重要,这样,可以先制作一个文件模板,然后按照实际需要输出多页报表即可。
(1)数据的导入(importData)procedure importData;varI,j:integer;v:variant;beginv:=createExcel; //创建Excel文件testfor I:=0 to maxcolumn dobeginfor j:=0 to maxrow dov.workbooks[1].sheets[1].cells[I,j]:=I*j; //导入数据end;end;(2)单元格的合并、边框的控制(lineStylecontrol)单元格的合并,是在选定合并范围的情况下进行的。
delphi操作excel参数
![delphi操作excel参数](https://img.taocdn.com/s3/m/3ba4a43367ec102de2bd89fa.png)
Delphi 操作EXCEL —— EXCEL workbook.saveas 函数详解本问所有资料来自于Excel2003 VBA帮助文件,张荣整理,适用于DELPHI,VB的高级语言操作Excel用ExcelApplication.WorkBook.SaveAs(filename,FileFormat, Password, WriteResPassword, ReadOnlyRecommended, CreateBackup, AccessMode, ConflictResolution, AddToMru, TextCodePage, TextVisualLayout ,Local)1、Filename: Variant 类型,可选。
该字符串表示要保存的文件名。
可包含完整路径。
如果不指定路径,Microsoft Excel 将文件保存到当前文件夹中。
2、FileFormat: Variant 类型,可选。
保存文件时使用的文件格式。
要得到有效选项的列表,请参阅FileFormat 属性。
对于已有文件,其默认格式是上次指定的文件格式;对于新文件,默认格式为当前使用的Excel 版本格式,可选常数如下:xlAddIn 18xlCSV 6xlCSVMac 22xlCSVMSDOS 24xlCSVWindows 23xlCurrentPlatformText -4158xlDBF2 7xlDBF3 8xlDBF4 11xlDIF 9xlExcel2 16xlExcel2FarEast 27xlExcel3 29xlExcel4 33xlExcel4Workbook 35xlExcel5 39xlExcel7 39xlExcel9795 43xlHtml 44xlIntlAddIn 26xlIntlMacro 25xlSYLK 2xlTemplate 17xlTextMac 19xlTextMSDOS 21xlTextPrinter 36xlTextWindows 20xlUnicodeText 42xlWebArchive 45xlWJ2WD1 14xlWJ3 40xlWJ3FJ3 41xlWK1 5xlWK1ALL 31xlWK1FMT 30xlWK3 15xlWK3FM3 32xlWK4 38xlWKS 4xlWorkbookNormal -4143xlWorks2FarEast 28xlWQ1 34xlXMLData 47xlXMLSpreadsheet 463、Password :Variant 类型,可选。
Delphi中如何控制Excel
![Delphi中如何控制Excel](https://img.taocdn.com/s3/m/ba6035be960590c69ec37654.png)
procedure lineStylecontrol;
var
v,sheet,range:variant;
begin
v:=createExecl;
sheet:= v.workbooks[1].sheets[1];
range:=sheet.range[sheet.cells[1,1],sheet.cells[39,30]];//选定表格
Extended properties 设为:Excel 8.0
sql语句 select * from [yourtablename] (注意要有[])
二、用OLE打开(以下是一个范例,注释掉的代码也是有用的语句,注意要uses ExtCtrls,ComObj单元):
edit1.text:=stringgrid1.Cells[2,x];
edit3.text:=stringgrid1.Cells[3,x];
edit4.text:=stringgrid1.Cells[4,x];
edit5.text:=stringgrid1.Cells[5,x];
exit;
end;
2 数据表格控制
Excel表格的控制,主要包括数据的导入、修改;单元格的合并、边框的控制;表格的复制、粘贴等。当报表格式一定的情况下,表格的复制、粘贴显得尤为重要,这样,可以先制作一个文件模板,然后按照实际需要输出多页报表即可。
(1)数据的导入(importData)
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:='Excel Application';
try
如何在DELPHI中操作EXCEL电子表格
![如何在DELPHI中操作EXCEL电子表格](https://img.taocdn.com/s3/m/94d7ef21dd36a32d7375816d.png)
如何在DELPHI中操作EXCEL电子表格如何在DELPHI中操作EXCEL电子表格EXCEL电子表格作为办公软件OFFICE中的重要组成部份,是日常办公系统的主要助手,因此许多日常所需的业务方面的数据通常是通过电子表格存取。
有时我们需要从日常工作中创建的EXCEL中取得数据进行操作、打印、查询,统计等工作。
在这里我将介绍如何利用delphi完成EXCEL电子表格中数据的操作。
一、新建一项目,从控件栏servers中分别选取控件:excelapplication、excelworkbook1、excelworksheet,放到主窗体from1中,并加入stringgrid、三个按钮、五个显示字段内容的EDIT、二个操作显示记录的label、一个用于打开EXCEL电子表格的控件opendialog等,如下图所示:二、选择excel表'按钮,用于打开EXCEL文件,其代码如下:procedure TForm1.Button1Click(Sender: TObject);var i,j:integer;beginopendialog1.InitialDir:=ExtractFileDir(paramstr(0));//文件的打存放初始路径opendialog1.Execute;TryExcelApplication1.Connect;//EXCEL应用程序ExceptMessageDlg('Excel may not be installed',mtError, [mbOk], 0);Abort;End;ExcelApplication1.Visible[0]:=True;ExcelApplication1.Caption:='Excel Application';tryexcelapplication1.Workbooks.Open(opendialog1.FileName,null,null,null,null,null,null,null,null,null,null,null,null,0);//打开指定的EXCEL 文件exceptbeginExcelApplication1.Disconnect;//出现异常情况时关闭ExcelApplication1.Quit;showmessage('请选择EXCEL电子表格!');exit;end;end;ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);//ExcelWorkbook1与Eexcelapplication1建立连接ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _Worksheet);//Excelworksheet1与Excelworkbook1建立连接//开始从EXCEL中取数,放到stringgrid1中,取完数后关闭EXCELfor i:=1 to 1000 do//最大取值1000for j:=1 to 6 dobeginif trim(excelworksheet1.cells.item[i+1,1])<>'' thenbeginstringgrid1.rowCount:=i+1;stringgrid1.Cells[j,i]:=ExcelWorksheet1.Cells.Item[i+1,j];endelsebeginlabel3.caption:=inttostr(i-1);ExcelApplication1.Disconnect;ExcelApplication1.Quit;//将第一条数据赋给编辑框edit2.text:=stringgrid1.Cells[1,1];edit1.text:=stringgrid1.Cells[2,1];edit3.text:=stringgrid1.Cells[3,1];edit4.text:=stringgrid1.Cells[4,1];edit5.text:=stringgrid1.Cells[5,1];exit;end;end;end;三、'下一条记录'按钮,完成记录向下移动,代码如下: procedure TForm1.Button2Click(Sender: TObject); var x:integer;beginx:=stringgrid1.row+1;if x<> stringgrid1.RowCount thenbeginstringgrid1.row:=stringgrid1.row+1;label1.caption:=inttostr(x);edit2.text:=stringgrid1.Cells[1,x];edit1.text:=stringgrid1.Cells[2,x];edit3.text:=stringgrid1.Cells[3,x];edit4.text:=stringgrid1.Cells[4,x];edit5.text:=stringgrid1.Cells[5,x];exit;endelseshowmessage('已到第一条记录!');end;四、'上一条记录',完成记录上移,代码如下:var x:integer;beginx:=stringgrid1.row-1;if x<>0 thenbeginstringgrid1.row:=stringgrid1.row-1;label1.caption:=inttostr(x);edit2.text:=stringgrid1.Cells[1,x];edit1.text:=stringgrid1.Cells[2,x];edit3.text:=stringgrid1.Cells[3,x];edit4.text:=stringgrid1.Cells[4,x];edit5.text:=stringgrid1.Cells[5,x];exit;endelseshowmessage('已到最后一条记录!');end;五、stringgrid中上下移动时代码:procedure TForm1.StringGrid1Click(Sender: TObject);var i:integer;begini:=stringgrid1.Row;label1.caption:=inttostr(i);edit1.text:=stringgrid1.Cells[2,i];edit2.text:=stringgrid1.Cells[1,i];edit3.text:=stringgrid1.Cells[3,i];edit4.text:=stringgrid1.Cells[4,i];edit5.text:=stringgrid1.Cells[5,i];end;六、运行程序,点击按钮1打开excel表格。
德尔菲法(Delphi)Excel上机指导
![德尔菲法(Delphi)Excel上机指导](https://img.taocdn.com/s3/m/5f8fa94e650e52ea5418981a.png)
1.1德尔菲法实验1.1.1 理论知识准备 德尔菲(Delphi )是在专家个人判断法的基础上发展起来的一种新型直观的预测方法。
目前,德尔菲法已经运用在规划和决策中,并具有较高的声望,是一种重要的规划决策工具。
德尔菲法与专家会议法相比有三个特点,即匿名性、反馈性和预测结果的统计特性。
匿名性就是采用匿名函询的方式征求意见,以就消除对专家判断的客观性有影响的一些不良因素。
反馈性就是要进行几轮专家意见征询,并把上一轮的结果反馈到下一轮的预测中去,以便专家们可以参考有价值的意见从而提出更好的意见。
预测结果的统计特性是指德尔菲法采用统计方法对专家意见进行处理,从而得到定量的表达,使得专家意见逐渐趋于一致。
德尔菲法预测步骤如下:(1) 确定预测主题,归纳预测事件预测主题就是所要研究和解决的问题。
一个主题包括若干个事件。
事件是用来说明主题的重要指标。
确定预测主题和归纳预测事件是德尔菲法的关键一步。
(2) 选择专家德尔菲法要求专家对预测主题相当了解,对预测问题的研究非常深入,所选择专家来源广泛,一般是本企业、本部门的专家和有业务联系、关系密切的外部专家以及在社会上有影响的知名人士。
专家人数恰当,通常视预测主题规模而定。
专家人数太少,缺乏代表性,太多又难于组织。
一般情况下,专家小组人数以10~50人为宜。
对重大问题的预测,专家小组的人数可扩大到l00人左右。
(3) 预测过程经典德尔菲法的预测过程一般分为四轮。
第一轮确定预测事件,要求各个专家根据所要预测的主题提出预测事件,并用准确的术语列出“预测事件一览表”。
第二轮初次预测,将“预测事件一览表”发给各个专家,要求他们对各个事件做出评价,提出相应的预测,并附上理由。
有必要还可以提出需要的补充资料,使预测更加准确。
第三轮修改预测,专家根据预测领导小组所反馈的第二轮预测结果和补充资料,再一次进行预测,并像第二轮预测一样附上理由。
第四轮最后预测,专家再次根据反馈结果做出最后的预测,并根据领导小组的要求,做出或不做出新的论证。
delphi操作excel汇总
![delphi操作excel汇总](https://img.taocdn.com/s3/m/cd49f20002020740be1e9b68.png)
if MessageDlg(xlsFileName+'文件已被修改,是否保存?',mtConfirmation, [mbYes, mbNo], 0) = mrYes then
WorkBook.save
else
workBook.Saved := True; //放弃修改
WorkBook.close;
eclApp.Quit;
//释放VARIANT变量
eclApp:=Unassigned;
end;
end;
end.
经过上述操作过程后,我们就可以很放心地将数据库中的数据转换成Excel文件了。
对上面的Range合并单元格:
Range.merge;
Range. FormulaR1C1:='合并区';//合并后写入文本
注意以后要读合并的单元格里面的文本就是读合并区域的左上角的那个单元格的文本
在excel表中选定区域赋给range:
range:=excel_grid1.OleObject.application.selection;
Olecon.oleobject.application.columns[2].insert;
复制指定区域:
Olecon.oleobject.application.range['A1:C3'].copy;
从指定单元格开始粘贴:
Olecon.oleobject.application.range['A4'].PasteSpecial;
Exit;
end;
try
ShowMessage('下面演示:新建一个XLS文件,并写入数据,最后关闭它。');
用DELPHI操作EXCEL
![用DELPHI操作EXCEL](https://img.taocdn.com/s3/m/7c8d16084a7302768e99397a.png)
用DELPHI操作EXCEL2007年07月03日星期二 11:45DELPHI中EXCEL组件的使用方法:一) 使用动态创建的方法首先创建 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].ColumnsWidth := 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] := '隶书';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.拷贝整个工作表:ed.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 thenExcelApp.ActiveSheet.PrintPreview;21) 工作表另存为:ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;23) 关闭工作簿:ExcelApp.WorkBooks.Close;24) 退出 Excel:ExcelApp.Quit;(二) 使用Delphi 控件方法在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。
【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)
![【Delphi】汇出Excel时,Excel单元格格式设置(附Delphi操作Excel方法)](https://img.taocdn.com/s3/m/96192c8a02d276a200292e30.png)
【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 := xlNoneExcel.ActiveSheet.Range[B10:C13].Borders[N].Weight := xlThin边框的类型 Borders[N]xlEdgeLeft 左=1xlEdgeRight 右=2xlEdgeTop 顶=3xlEdgeBottom 底=4xlDiagonalUp 左上右下=5xlDiagonalDown 左下右上=6xlEdgeLeft 外部左边框=7xlEdgeTop 外部上边框=8xlEdgeBottom 外部下边框=9xlEdgeRight 外部右边框=10xlInsideVertical 内部竖线=11xlInsideHorizontal 内部横线=12(其中1:为左 2:右 3:顶 4:底 5:斜\ 6:斜/)线条类型LineStyle,宽度Weight单条线的LineStyle := xlContinuous双条线的LineStyle := xlDouble虚线 xlHairline 1实线 xlThin中实线 xlMedium粗实线 xlThick2.给单元格赋值:Excel.Cells[1,4].Value := 第一行第四列;3.设置第一行字体属性(隶书,蓝色,加粗,下划线):Excel.ActiveSheet.Rows[1] := 隶书; Excel.ActiveSheet.Rows[1].Font.Color := clBlue; Excel.ActiveSheet.Rows[1].Font.Bold := True; Excel.ActiveSheet.Rows[1].Font.UnderLine := True;4.设置整个表字体为9Excel.Cells.Font.Size:=9;5.在第8行之前插入/删除分页符:Excel.WorkSheets[1].Rows[8].PageBreak := 1; (0为删除)6.清除第一行第四列单元格公式:Excel.ActiveSheet.Cells[1,4].ClearContents;7.从数字类型转换成文本类型(不知道格式化字符串,请录制宏,抽出宏中格式化字符串。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、使用单元:Use :EXCEL 2000, ComObj二、定义var ExcelApp,Sheet,Range: Variant;注释:ExcelApp 为定义的Excel 对象Sheet 为定义的工作表(Sheet)对象Range 为定义的工作表范围三、关于Excel 对象创建初始化以及工作表、工作表范围的初始化1. 创建excel对象:ExcelApp := CreateOleObject( 'Excel.Application' );2. 显示当前窗口:ExcelApp.Visible := True;3. 更改Excel 标题栏:ExcelApp.Caption := '应用程序调用Microsoft Excel';4. 添加新工作簿:ExcelApp.WorkBooks.Add;5 打开已存在的工作簿:ExcelApp.WorkBooks.Open(FilePath);6.设置工作簿默认工作表张数ExcelApp.SheetsInNewWorkbook := 1;7.设置工作表名称ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum].Name := PName;8.工作表初始化Sheet:= ExcelApp.Workbooks[WorkbookNum].WorkSheets[WorkSheetNum];9.工作表范围初始化Range := Sheet.Range['A1:DL1'] ;10.设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate;或ExcelApp.WorksSheets[ 'Sheet2' ].Activate;三、单元格赋值设置数值类型1. 给单元格赋值:ExcelApp.Cells[row, column].Value := '第一行第四列';或Sheet.Cells[row, column] := ‘第一行第四列’;2 清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[row,column].ClearContents;或Sheet.Cells[row,column]. ClearContents3设置单元格数值类型为文字型Range.NumberFormatLocal := '@';四、设置列宽和行高1. 设置指定列的宽度(单位:字符个数):ExcelApp.ActiveSheet.Columns[column].ColumnsWidth := 5;或Sheet.Columns[column].ColumnWidth := 5;2.设置指定行的高度(单位:磅)(1磅=0.035厘米)ExcelApp.ActiveSheet.Rows[row].RowHeight := 1/0.035; // 1厘米或Sheet. Rows [row]. RowHeight:= 1/0.035;五、对齐方式1.水平对齐Range.HorizontalAlignment:=xlCenter; 居中Range.HorizontalAlignment:=xlLeft;居左Range.HorizontalAlignment:=xlRight;居右或Sheet.Cells[row,column].HorizontalAlignment:=xlCenter; 居中Sheet.Cells[row,column].HorizontalAlignment:=xlLeft;居左Sheet.Cells[row,column].HorizontalAlignment:=xlRight;居右2.垂直对齐Range. VerticalAlignment:=xlCenter; 居中Range. VerticalAlignment:= xltop;顶端对齐Range. VerticalAlignment:= xlbottomfont;底部对齐或Sheet.Cells[row,column]. VerticalAlignment:=xlCenter; 居中Sheet.Cells[row,column]. VerticalAlignment:= xltop;顶端对齐Sheet.Cells[row,column]. VerticalAlignment:= xlbottomfont; 底部对齐六、文字控制1.自动换行Range.WrapText:=true;或Sheet.Cells[row,column]. WrapText:=true;2.合并单元格Sheet.range['A17:G17'].Merge;3.跨越合并Sheet.range['C27:D34'].Merge(true);七、字型设置1.设置字体大小Range.Characters.Font.Size := 10;或Sheet.Cells[row,column].Characters.Font.Size := 10;2.字体加重Range.Characters.Font. Bold:= true;或Sheet.Cells[row,column].Characters.Font. Bold:= true;3.字体倾斜Range.Characters.Font. Italic:= true;或Sheet.Cells[row,column].Characters.Font. Italic:= true;4.字体:=’楷体_GB2312'或Sheet.Cells[row,column].Characters.Font. Name:=’楷体_GB2312’5字体样式(常规,斜体,粗体,粗斜体)Range.Characters.Font.FontStyle:=’常规'或Sheet.Cells[row,column].Characters.Font.FontStyle:=’常规'6.下划线Range.Characters.Font.UnderLine := True;或Sheet.Cells[row,column].Characters.Font.UnderLine := True;八、分页符操作1.在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows.PageBreak := 1;或Sheet. Rows. PageBreak := 1;或Range. Rows. PageBreak := 1;2.在第8列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;或Sheet.Columns[4]. PageBreak := 0;或Range.Columns[4].PageBreak :=0;九、关于边框的操作:Border :1-左2-右3-顶4-底5-斜( \ ) 6-斜( / )1.指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[Border].Weight := 3;或Sheet. Borders[Border].Weight := 3;或Range Borders[Border].Weight := 3;2.边框线线条形状Sheet.Borders[Border].linestyle :=1;或Range.Borders[Border]. Linestyle := 1;Linestyle 1:实线2 虚线12 双横线十、关于颜色1. 设置单元格背景色Sheet.Cells[row,column].Interior.ColorIndex := 38;或Range.Interior.ColorIndex := 38;2.字体颜色Range.Characters.Font.Colorindex:=6;或Sheet.Cells[row,column].Characters.Font.Colorindex:=6 Colorindex的值十一、冻结窗口Sheet.Cells[2,3].select;ExcelApp.ActiveWindow.FreezePanes := True;十二、打印设置1.页眉:Sheet.PageSetup.CenterHeader := '报表演示';2.页脚:Sheet.PageSetup.CenterFooter := '第&P页';3页眉到顶端边距2cm:Sheet.PageSetup.HeaderMargin := 2/0.035;4.页脚到底端边距3cm:Sheet.PageSetup.HeaderMargin := 3/0.035;5.顶边距2cm:Sheet.PageSetup.TopMargin := 2/0.035;6.底边距2cm:Sheet.PageSetup.BottomMargin := 2/0.035;7.左边距2cm:Sheet.PageSetup.LeftMargin := 2/0.035;8.右边距2cm:Sheet.PageSetup.RightMargin := 2/0.035;9.页面水平居中:Sheet.PageSetup.CenterHorizontally := 2/0.035;10.页面垂直居中:Sheet.PageSetup.CenterVertically := 2/0.035;11.打印单元格网线:Sheet.PageSetup.PrintGridLines := True;12缩放比例Sheet.PageSetup.zoom := 75;13横向打印Sheet.PageSetup.Orientation:= xllandscape;14 纵向打印Sheet.PageSetup.Orientation:=xlportrait;15.设置打印标题行Sheet.PageSetup.PrintTitleRows := Sheet.Rows['1:3'].Address ;Sheet.PageSetup.PrintTitleColumns := Sheet.Rows[3].Address;16.打印预览工作表:Sheet.PrintPreview;17 打印输出工作表:Sheet.PrintOut;十三、拷贝操作:1.拷贝整个工作表:ed.Range.Copy;2. b.拷贝指定区域:Sheet.Range[ 'A1:E2' ].Copy;3.从A1位置开始粘贴:Sheet.Range.[ 'A1' ].PasteSpecial;4.从文件尾部开始粘贴:Sheet.Range.PasteSpecial;十四、行列的插入删除1. 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Insert;b. ExcelApp.ActiveSheet.Columns[1].Insert;2. 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Delete;b. ExcelApp.ActiveSheet.Columns[1].Delete;十五、Excel保存关闭1.工作表保存:if not ExcelApp.ActiveWorkBook.Saved thenExcelApp.ActiveSheet.PrintPreview;2.工作表另存为:ExcelApp. SaveAs ( filepath);3 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;4. 关闭工作簿:ExcelApp.WorkBooks.Close;5. 退出Excel:ExcelApp.Quit;6. 工作表关闭ExcelApp.WorkBooks.Close ;十六、其他1. 已经使用的行数edRange.Rows.Count;(三) 使用Delphi 控制Excle二维图在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet var asheet1,achart, range:variant;1)选择当第一个工作薄第一个工作表asheet1:=ExcelApplication1.Workbooks[1].Worksheets[1];2)增加一个二维图achart:=asheet1.chartobjects.add(100,100,200,200);3)选择二维图的形态achart.chart.charttype:=4;4)给二维图赋值series:=achart.chart.seriescollection;range:=sheet1!r2c3:r3c9;series.add(range,true);5)加上二维图的标题achart.Chart.HasTitle:=True;achart.Chart.ChartTitle.Characters.Text:=’ Excle二维图’6)改变二维图的标题字体大小achart.Chart.ChartTitle.Font.size:=6;7)给二维图加下标说明achart.Chart.Axes(xlCategory, xlPrimary).HasTitle := True;achart.Chart.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text := '下标说明';8)给二维图加左标说明achart.Chart.Axes(xlValue, xlPrimary).HasTitle := True;achart.Chart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text := '左标说明';9)给二维图加右标说明achart.Chart.Axes(xlValue, xlSecondary).HasTitle := True;achart.Chart.Axes(xlValue, xlSecondary).AxisTitle.Characters.Text := '右标说明';10)改变二维图的显示区大小achart.Chart.PlotArea.Left := 5;achart.Chart.PlotArea.Width := 223;achart.Chart.PlotArea.Height := 108;11)给二维图坐标轴加上说明achart.chart.seriescollection[1].NAME:='坐标轴说明';。