zoukankan      html  css  js  c++  java
  • Delphi中控制Excel(转)

    用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
  • 相关阅读:
    eclipse常用快捷键
    angularJS学习(三)——搭建学习环境
    node.js的安装
    AngularJS学习(二)——Angular应用的解析
    MTK如何烧录IMEI码(俗称串号)
    飞思卡尔IMX515评估板系统烧录和启动
    __asm__ __volatile__("": : :"memory")
    MTK6577+Android4.0之增加重启功能
    WinCE系统声音定制
    介绍一种很棒的wince 如何替换系统声音的方法
  • 原文地址:https://www.cnblogs.com/bingege/p/1634605.html
Copyright © 2011-2022 走看看