乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何通过<em>Delphi</em>程序给<em>Excel表格</em&g

如何通过<em>Delphi</em>程序给<em>Excel表格</em&g

作者:乔山办公网日期:

返回目录:excel表格制作


//这是我利用excel中的宏编辑的数e799bee5baa6e79fa5e98193e58685e5aeb9361据倒入excel中的一个例子,希望有帮助。
procedure TForm_ejjgs.BitBtn8Click(Sender: TObject);
var
       excel,workbook:variant;
       xlsfilename:string;
       i,j:integer;
        begin

         try
           excel:=createoleobject('excel.application');
           workbook:=createoleobject('excel.sheet');

         except
             showmessage('您的机器里未安装Microsoft excel');
          end;
        try
          excel:=createoleobject('excel.application');
          excel.workbooks.open('c:\gcsgl\demo.xls');
          xlsfilename:='demo.xls';
          excel.worksheets[4].activate;
         //ClearContents
          excel.activeSheet.Name:= '二级注册结构师';
          //给单元格赋值。
           Data.ADOQuery_gcsgl.First;
           j:=data.adoquery_gcsgl.recordcount;
           //['a2:h'+InttoStr(j+2)].ClearContents;
           excel.activesheet.range['a2:h1000'].ClearContents;
           for i:=1 to  Data.ADOQuery_gcsgl.RecordCount do
           begin
            excel.Cells(i+2,1):=Data.ADOQuery_gcsgl.FieldByName('序号').asstring;
            excel.Cells(i+2,2):=Data.ADOQuery_gcsgl.FieldByName('姓名').asstring;
            excel.Cells(i+2,3):=Data.ADOQuery_gcsgl.FieldByName('注册单位').asstring;
            excel.Cells(i+2,4):=trim(Data.ADOQuery_gcsgl.FieldByName('身份证号').asstring);
            excel.Cells(i+2,5):=Data.ADOQuery_gcsgl.FieldByName('执业印章号').asstring;
            excel.Cells(i+2,6):=Data.ADOQuery_gcsgl.FieldByName('注册证书号').asstring;
            excel.Cells(i+2,7):=Data.ADOQuery_gcsgl.FieldByName('截止日期').asstring;
            excel.Cells(i+2,8):=Data.ADOQuery_gcsgl.FieldByName('备注').asstring;
             excel.activesheet.rows[i+2].rowheight:=20;
            Data.ADOQuery_gcsgl.MoveBy(1);
           end;
             //格式
              excel.activesheet.range['a1:h1'].font.FontStyle:='粗体';
              excel.activesheet.range['a1:h1'].HorizontalAlignment := xlCenter;
              excel.activesheet.range['a1:h1'].VerticalAlignment:= xlCenter;
              excel.activesheet.range['a1:h1'].ReadingOrder := xlContext;
              excel.activesheet.range['a1:h1'].MergeCells := True;
              excel.activesheet.range['a2:h2'].font.FontStyle:='粗体';
              excel.cells[1,1].value:='甘 肃 省 二 级 注 册 结 构 师 名 单';
              excel.ActiveSheet.PageSetup.TopMargin :=2.8/0.035;
             //列宽
            excel.activesheet.columns[1].columnwidth:=6;
            excel.activesheet.columns[2].columnwidth:=6;
            excel.activesheet.columns[3].columnwidth:=30;
            excel.activesheet.columns[4].columnwidth:=20;
            excel.activesheet.columns[5].columnwidth:=15;
            excel.activesheet.columns[6].columnwidth:=15;
            excel.activesheet.columns[7].columnwidth:=10;
            excel.activesheet.columns[8].columnwidth:=20;
            excel.cells[2,1].value:='序号';
            excel.cells[2,2].value:='姓名';
            excel.cells[2,3].value:='注册单位';
            excel.cells[2,4].value:='身份证号';
            excel.cells[2,5].value:='执业印章号';
            excel.cells[2,6].value:='注册证书号';
            excel.cells[2,7].value:='截止日期';
            excel.cells[2,8].value:='备  注';
             //设置边框
             excel.activesheet.range['a2:h'+InttoStr(j+2)].borders[1].weight:=2;
             excel.activesheet.range['a2:h'+InttoStr(j+2)].borders[2].weight:=2;
             excel.activesheet.range['a2:h'+InttoStr(j+2)].borders[3].weight:=2;
             excel.activesheet.range['a2:h'+InttoStr(j+2)].borders[4].weight:=2;
            //对齐方式 ExlApp.Selection.HorizontalAlignment:=3;
              excel.activesheet.columns[1].HorizontalAlignment:=3;
              excel.activesheet.columns[2].HorizontalAlignment:=3;
              excel.activesheet.columns[4].HorizontalAlignment:=3;
              excel.activesheet.columns[5].HorizontalAlignment:=3;
              excel.activesheet.columns[6].HorizontalAlignment:=3;
              excel.activesheet.columns[7].HorizontalAlignment:=3;
              excel.activesheet.columns[8].HorizontalAlignment:=3;
              excel.activesheet.columns[2].verticalAlignment:=2;
              excel.activesheet.columns[1].verticalAlignment:=2;
              //设置自动换行
               excel.activesheet.columns[8].WrapText:=false;
              excel.activesheet.columns[8].ShrinkToFit:=true;
               excel.activesheet.columns[8].ReadingOrder :=xlContext;
               //设置页边距
               excel.activesheet.pagesetup.topMargin:=2/0.035;
            excel.activesheet.pagesetup.headerMargin:=1.8/0.035;
            excel.activesheet.pagesetup.leftMargin:=1.5/0.035;
            excel.activesheet.pagesetup.rightMargin:=1/0.035;
            excel.activesheet.pagesetup.bottomMargin:=2/0.035;


           //设置文本属性。
           excel.activesheet.Columns['d:d'].NumberFormatLocal:='0';
           excel.activesheet.Columns['e:e'].NumberFormatLocal:='0';
           excel.activesheet.Columns['f:f'].NumberFormatLocal:='0';
           excel.activesheet.Columns['g:g'].NumberFormatLocal:='0';
           excel.activesheet.Columns['e:e'].NumberFormatLocal:='0';
           //excel.ActiveSheet.PageSetup.PrintArea :='';
           excel.ActiveSheet.PageSetup.Orientation:=xlLandscape; //横向打印

        except
            exit;
        end;
       //保存为excel
        excel.displayalerts:=false;
        excel.activeworkbook.saveas('c:\gcsgl\demo.xls');
          excel.workbooks.close;
          excel.quit;
          showmessage('已保存完毕!')
end;


Excel 作为常用的办公软件,最常见的应用就是制作各种电子表格,同样,使用 delphi 语言编写出 excel 的表格也是编程人员常见的任务。

如何通过Delphi程序给Excel表格设置表格线,在完成这个任务之前,需要补充了解一些必需的资料:

在 Excel 里的,能够进行表格线设置的操作对象e79fa5e98193e4b893e5b19e366是 Border 对象:


这个对象具有以下成员:


Borders 具有以下边框属性:

各边框代表值如下:


各边框线条的样式定义:


知道了上面的知识之后,编写代码就比较简单了,以下是示例的代码:

procedure TForm1.Button1Click(Sender: TObject);
//先定义线型常量,也可以不定义,定义是为了便于记忆与代码易读
const
  xlInsideHorizontal = $0000000C;
  xlInsideVertical = $0000000B;
  xlDiagonalDown = $00000005;
  xlDiagonalUp = $00000006;
  xlEdgeBottom = $00000009;
  xlEdgeLeft = $00000007;
  xlEdgeRight = $0000000A;
  xlEdgeTop = $00000008;

  xlContinuous = 1;
  xlDash = -4115;
  xlDashDot = 4;
  xlDashDotDot = 5;
  xlDot = -4118;
  xlDouble = -4119;
  xlSlantDashDot = -4142;
  xlLineStyleNone = 13;

var ExcelApp: Variant;
begin
  ExcelApp := CreateOleObject('Excel.Application');//建立 Excel 联系
  ExcelApp.Visible := True;  //显示 excel 窗口
  ExcelApp.WorkBooks.Open('d:\Demo.xls'); //打开指定的 excel 文件

  //设置表格中指定单元格的上边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeTop].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeTop].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeTop].Weight := 4;

  //设置表格中指定单元格的底边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeBottom].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeBottom].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeBottom].Weight := 4;

  //设置表格中指定单元格的左边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeLeft].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeLeft].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeLeft].Weight := 4;

  //设置表格中指定单元格的右边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeRight].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeRight].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeRight].Weight := 4;

  //设置表格中间所有横线
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideHorizontal].LineStyle := xlContinuous;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideHorizontal].Color := clBlue;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideHorizontal].Weight := 2;

  //设置表格中间所有纵线
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideVertical].LineStyle := xlContinuous;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideVertical].Color := clBlue;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideVertical].Weight := 2;

end;


运行效果截图:



可以的

哈哈, 我回来了。 1、加边框方才在其余处所找到了这个问题的解决办法,现颁布如下:(留意:这是转载的但我也有苦劳) excelworksheet1.range['a1','a1'].borders[i].linestyle:=1; i是参数,代表单位格的四边以及琅绫擎的斜线 1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / ) 2、控制单位格 excelworksheet1.Rows.Range_['a1','a1'].Font.Size:='10'; //字体大大小 excelworksheet1.Rows.Range_['a1','a1'].Font.Name:='Garamond'; //字体名称e799bee5baa6e78988e69d83330 excelworksheet1.Rows.Range_['a1','a1'].Font.Color:=clred; //字体色彩 excelworksheet1.Rows.Range_['a1','a1'].Font.bold:=true; //字体加粗 excelworksheet1.Rows.Range_['a1','a1'].HorizontalAlignment:= xlCenter; //文字居中 excelworksheet1.Rows.Range_['a1','a1'].VerticalAlignment:= xlBottom; //文字向下对齐 excelworksheet1.Rows.Range_['a1','a1'].WrapText:=True; //主动换行 excelworksheet1.Rows.Range_['a1','a1'].Orientation:= 0; //偏向为0度 excelworksheet1.Rows.Range_['a1','a1'].AddIndent:= False;//不增长缩进 excelworksheet1.Rows.Range_['a1','a1'].ShrinkToFit:= False;//不缩小字体填充 excelworksheet1.Rows.Range_['a1','a1'].MergeCells:= False;//不归并单位格 查看原帖>>

相关阅读

  • <em>Delphi</em>中如何将<em>excel</em>中的数

  • 乔山办公网excel表格制作
  • a和b的字段类型是不是有Double类型?请检查Excel中是不是出现了除数字外的其他字符所以导致你插入数据库时会出现错误提示(string类型不能转换成double类型)delphi中怎么实现EXCEL导入导出到
关键词不能为空
极力推荐
  • 为什么打开<em>excel</em>2007会提示<em>stdole</e

  • 1、首先我们选择鼠标单击左下角的“开始”按钮复。2、之制后我们选择鼠标单击起始页面上的“运行”功能选项。百3、在“度运行”跳出的页面上输入msconfig的字符命令。4、在系统配

ppt怎么做_excel表格制作_office365_word文档_365办公网