Stringgridtoexcel

 

 

  1. procedure Stringgridtoexcel(atitle: string;
  2.   Astringgrid: Tstringgrid; Afontsize: integer);
  3. var xlapp, xlsheet: variant;
  4.   row, CCC, nnn, jjj: integer;
  5. begin
  6.   try
  7.     xlapp := createoleobject('excel.application');
  8.   except
  9.     showmessage('not found excel in your system, so can not create file!');
  10.     exit;
  11.   end;
  12.   try
  13.     ccc := Astringgrid.ColCount;
  14.     xlapp.workbooks.add; //添加新工作簿
  15.     xlapp.visible := false;
  16.     xlsheet := xlapp.activesheet;
  17.     xlapp.activewindow.windowstate := 2;
  18.     xlapp.range[xlsheet.cells[11], xlsheet.cells[1, ccc]].MERGE;
  19.     xlsheet.cells[11].value := Atitle; //页头第一行;
  20.     xlsheet.cells[11].HorizontalAlignment := -4108;
  21.     row := 2;
  22.     for jjj := 0 to Astringgrid.RowCount - 1 do
  23.     begin
  24.       for nnn := 1 to ccc do
  25.         xlsheet.cells[row, nnn] := trim(Astringgrid.Cells[nnn - 1, row - 2]);
  26.       xlsheet.rows[row].RowHeight := 18;
  27.       inc(row);
  28.     end;
  29.     xlapp.visible := true;
  30.         //格式调整
  31.     xlapp.range[xlsheet.cells[row, 1], xlsheet.cells[row, 13]].WrapText := True;
  32.     xlapp.range[xlsheet.cells[row, 1], xlsheet.cells[row, 13]].HorizontalAlignment := -4108;
  33.     xlsheet.pagesetup.headerMargin := 1 / 0.035//页眉到顶端边距1cm
  34.     xlsheet.pagesetup.footerMargin := 0.6 / 0.035//页脚到底端边距1cm
  35.     xlsheet.pagesetup.topMargin := 1 / 0.035//顶边距1cm
  36.     XLSHEET.pagesetup.bottomMargin := 1.3 / 0.035//底边距1cm
  37.     xlsheet.pagesetup.leftMargin := 0.5 / 0.035//左边距1cm
  38.     xlsheet.pagesetup.rightMargin := 0.5 / 0.035//右边距1cm
  39.     xlsheet.pagesetup.leftfooter := '制表: ' + Puboptername;
  40.     xlsheet.pagesetup.centerfooter := ''//页脚
  41.     xlsheet.pagesetup.rightfooter := '第&P页/共&N页';
  42.     xlsheet.pagesetup.leftHeader := '';
  43.     xlsheet.pagesetup.orientation := 1//横向
  44.     xlsheet.pagesetup.printtitlerows := '$1:$1';
  45.     xlsheet.rows[1].font.name := '宋体'//设置第一行字体属性
  46.     xlsheet.rows[1].font.bold := true;
  47.     xlsheet.rows[1].font.size := 20;
  48.     xlsheet.rows[1].RowHeight := 28;
  49.     for nnn := 1 to ccc do
  50.     begin
  51.       xlsheet.columns[nnn].columnwidth := Astringgrid.ColWidths[nnn - 1] * 0.1188;
  52.     end;
  53.     for nnn := 1 to 4 do begin
  54.       xlapp.range[xlsheet.cells[21], xlsheet.cells[row - 1, CCC]].borders[nnn].linestyle := 1;
  55.       xlapp.range[xlsheet.cells[21], xlsheet.cells[row - 1, CCC]].borders[nnn].weight := 1;
  56.     end;
  57.     xlapp.range[xlsheet.cells[21], xlsheet.cells[row - 1, CCC]].font.size := Afontsize;
  58.     xlapp.range[xlsheet.cells[21], xlsheet.cells[row - 1, ccc]].WrapText := True;
  59.     varclear(xlsheet);
  60.     varclear(xlapp);
  61.   except
  62.     on E: Exception do
  63.     begin
  64.       xlapp.quit;
  65.       showMSG('出现错误' + E.message, '错误'1);
  66.     end;
  67.   end;
  68. end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值