delphi dbgrid1 TXLSReadWriteII5 导出excel表格  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi dbgrid1 TXLSReadWriteII5 导出excel表格


var

  i, k,c,r,j: Integer;

  xls: TXLSReadWriteII5;


begin

  xls := TXLSReadWriteII5.Create(Self);

  SaveDialog1 := TSaveDialog.Create(Self);

  // SaveDialog1.InitialDir := ExtractFileDir(ParamStr(0)); {默认目录是应用程序的绝对路径 }

  SaveDialog1.Title := '保存EXCEL文件路径'; // 设置浏览对话框标题名

  SaveDialog1.Filter := 'EXCEL文件(*.xlsx)|*.xlsx'; // 设置保存文件的扩展名

  SaveDialog1.DefaultExt := '.xlsx'; // 为保存文件名自动添加扩展名


  try


    if SaveDialog1.Execute then

    xls.Filename := SaveDialog1.Filename

    else

    xls.Filename := SaveDialog1.Filename + '导出.xlsx';

    xls.Clear;

    xls.Sheets[0].Name := 'Sheet1';




    dbgrd1.DataSource.DataSet.First;

    c := dbgrd1.DataSource.DataSet.FieldCount;

    r := dbgrd1.DataSource.DataSet.RecordCount;

    Application.ProcessMessages;



    for i := 0 to c - 1 do

    xls.Sheets[0].Asstring[i, 1] := dbgrd1.DataSource.DataSet.Fields[i].DisplayLabel;

    for j := 1 to r do

    begin

      for i := 0 to c - 1 do

         xls.Sheets[0].Asstring[ i, j + 1] := dbgrd1.DataSource.DataSet.Fields[i].AsString;

        // xls.Sheets[0].AutoWidthCol(i); // 每列为自动宽度

      dbgrd1.DataSource.DataSet.Next;

    end;


    xls.Write;

    ShowMessage(Format('导出EXcel文件'+#13#10+'%s'+#13#10 +'成功!', [xls.Filename]));

  finally

    xls.Free;

    SaveDialog1.Free;

  end;



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.10825681686401 seconds