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