用Delphi从数据库中取得资料,然后导出到Excel中做成报表是个不错的选择,因为Excel强大的报表功能那可是没话说前提Delphi中要 uses comobj;var Excel:Variant;一、Excel操作 1 .创建Excel对象Excel : = CreateOleObject( Excel.Application ); 2 .显示ExcelExcel.Visible: = true ; 3 .更改标题Excel.Caption: = Excel的标题; 4 .退出ExcelExcel.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 thenExcel.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 : = xlNoneExcel.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 粗实线 xlThickXLLineStyle等值参考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 .设置整个表字体为9Excel.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