• Delphi


    .xls格式导出,uses中添加cxGridExportLink

    代码如下:

     1 function SaveToExcel(gridMain: TcxGrid; FileName: string): string;
     2 var
     3     SaveFileDialog: TSaveDialog;
     4 begin
     5     //示例:SaveToExcel(dxDBGrid1,'默认文件名');
     6     SaveFileDialog := TSaveDialog.Create(nil);
     7     SaveFileDialog.FileName := FileName;
     8     SaveFileDialog.Filter := '*.xls';
     9     if SaveFileDialog.Execute then
    10     begin
    11         if pos('.XLS', UpperCase(SaveFileDialog.FileName)) <= 0 then
    12             SaveFileDialog.FileName := SaveFileDialog.FileName + '.XLS';
    13         ExportGridToExcel(SaveFileDialog.FileName, gridMain);
    14         ShowMessage('数据已成功导出到您指定的目录中');
    15     end;
    16     Result := SaveFileDialog.FileName;
    17     SaveFileDialog.Free;
    18 end;

    .csv格式导出,uses中添加cxGridExportLink

    代码如下:

    1 begin
    2     Screen.Cursor := crSQLWait;
    3     FileNameCache := FileName + FormatDateTime('YYYYMMDD', NOW);
    4     FileName := FileNameCache + '.CSV';
    5     FilePathCache := 'C:/TMP/' + FileNameCache;
    6     FilePath := FilePathCache + '.CSV';
    7     ExportGridToText(FilePathCache + '.XLS', cxGrid_M, True, True, ',', '', '', 'CSV');
    8     Screen.Cursor := crDefault;
    9 end;

    .xlsx格式无法通过cxGrid现有封装的方法实现,可以通过.xls/.csv格式转换成.xlsx格式。

    代码如下:

     1 procedure Saveto_xlsx(tn: string; fn: string);
     2 var
     3    ExcelApp, Excelbook, ExcelChart: OleVariant;
     4 //tn:需要转换格式的源文件路径
     5 //fn:转换之后的文件存储路径
     6 begin
     7    try
     8       ExcelApp := CreateOleObject('Excel.Application');
     9       ExcelApp.Visible := True;//False
    10       ExcelApp.Caption := '应用程序调用 Microsoft Excel';
    11       ExcelApp.Application.DisplayAlerts := False;
    12       ExcelApp.WorkBooks.Open(tn);
    13       ExcelApp.ActiveWorkbook.SaveAs(fn, 51);
    14       ExcelApp.Application.Quit;
    15       ExcelApp.Application.DisplayAlerts := True;
    16       Excelapp := Null;
    17    except
    18       Application.Messagebox('Excel 没有安装!', 'Hello', MB_ICONERROR + mb_Ok);
    19       Abort;
    20    end;
    21 end;

      作者:Jeremy.Wu
      出处:https://www.cnblogs.com/jeremywucnblog/
      本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    树莓派进阶之路 (029)
    C语言学习笔记 (010)
    树莓派进阶之路 (028)
    C语言学习笔记 (009)
    虚拟内存和swap分区的关系
    树莓派进阶之路 (027)
    树莓派进阶之路 (026)
    C语言学习笔记 (008)
    ubuntu下安装gedit插件
    Ubuntu终端命令行播放音乐(mp3)
  • 原文地址:https://www.cnblogs.com/jeremywucnblog/p/11422905.html
Copyright © 2020-2023  润新知