• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi-cxGrid内容xlsx、xls、csv格式导出

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

.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;

 

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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi打印纸张选项设置参数发布时间:2022-07-18
下一篇:
DelphistdCall意义发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap