Delphi - cxGrid内容xlsx、xls、csv格式导出
.xls格式导出,uses中添加cxGridExportLink
代码如下:
function SaveToExcel(gridMain: TcxGrid; FileName: string): string;
var
SaveFileDialog: TSaveDialog;
begin
//示例:SaveToExcel(dxDBGrid1,'默认文件名');
SaveFileDialog := TSaveDialog.Create(nil);
SaveFileDialog.FileName := FileName;
SaveFileDialog.Filter := '*.xls';
if SaveFileDialog.Execute then
begin
if pos('.XLS', UpperCase(SaveFileDialog.FileName)) <= then
SaveFileDialog.FileName := SaveFileDialog.FileName + '.XLS';
ExportGridToExcel(SaveFileDialog.FileName, gridMain);
ShowMessage('数据已成功导出到您指定的目录中');
end;
Result := SaveFileDialog.FileName;
SaveFileDialog.Free;
end;
.csv格式导出,uses中添加cxGridExportLink
代码如下:
begin
Screen.Cursor := crSQLWait;
FileNameCache := FileName + FormatDateTime('YYYYMMDD', NOW);
FileName := FileNameCache + '.CSV';
FilePathCache := 'C:/TMP/' + FileNameCache;
FilePath := FilePathCache + '.CSV';
ExportGridToText(FilePathCache + '.XLS', cxGrid_M, True, True, ',', '', '', 'CSV');
Screen.Cursor := crDefault;
end;
.xlsx格式无法通过cxGrid现有封装的方法实现,可以通过.xls/.csv格式转换成.xlsx格式。
代码如下:
procedure Saveto_xlsx(tn: string; fn: string);
var
ExcelApp, Excelbook, ExcelChart: OleVariant;
//tn:需要转换格式的源文件路径
//fn:转换之后的文件存储路径
begin
try
ExcelApp := CreateOleObject('Excel.Application');
ExcelApp.Visible := True;//False
ExcelApp.Caption := '应用程序调用 Microsoft Excel';
ExcelApp.Application.DisplayAlerts := False;
ExcelApp.WorkBooks.Open(tn);
ExcelApp.ActiveWorkbook.SaveAs(fn, );
ExcelApp.Application.Quit;
ExcelApp.Application.DisplayAlerts := True;
Excelapp := Null;
except
Application.Messagebox('Excel 没有安装!', 'Hello', MB_ICONERROR + mb_Ok);
Abort;
end;
end;
作者:Jeremy.Wu
出处:https://www.cnblogs.com/jeremywucnblog/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
Delphi - cxGrid内容xlsx、xls、csv格式导出的更多相关文章
- 内容写到 csv 格式的文件中 及 读取 csv 格式的文件内容
<?php/*把内容写到 csv 格式的文件中 基本思路是:1.用 $fp = fopen("filename", 'mode')打开一个csv文件,可以是打开时才建立的2. ...
- PL/SOL csv格式导出查询结果时出现某些列的数据被四舍五入了的解决办法
昨天用pl/sql从oracle数据库捞取数据时,发现导出的csv格式中某些列的数据被进行了四舍五入处理了,当然这些列都是纯数字的,百思不得其解,后来上网才,才得知了原因. 这并不是导出的CSV文件数 ...
- 只需两步,rails支持CSV格式导出
一.Controller最上方添加 require 'csv' 二.方法里面添加 format.csv do csv_string = CSV.generate do |csv| csv <&l ...
- Java关于读取Excel文件~xlsx xls csv txt 格式文件~持续汇总~
所需的jar百度网盘链接:https://pan.baidu.com/s/146mrCImkZVvi1CJ5KoiEhQ提取码:c329 1 需要导入jar包,缺1不可 dom4j-1.6.1.jar ...
- 关于KeePass基于csv格式的批量导入与导出
在KeePass的导出选项中,有一个KeePass CSV(1.x),导出后格式如下: "Account","Login Name","Passwor ...
- 关于NPOI导出excel文件(xls和xlsx两种格式)提示格式不符的问题
这两天在做导出excel文件的时候遇到这个问题 本来我导出的格式是xlsx格式的,但是下载得到的文件格式变成了xls, 一开始以为是返回的contenttype设置错了 return File(ms, ...
- Java 导出Excel xlsx、xls, CSV文件
通用导出功能: 1.支持Excel xlsx.xls 2.支持CSV文件导出 3.数据库查询分页导出.内存导出 4.支持大批量数据导出 使用步骤如下 导入jar <dependency> ...
- 数组转xls格式的excel文件&数据转csv格式的excle
/** * 数组转xls格式的excel文件 * @param array $data 需要生成excel文件的数组 * @param string $filename 生成的excel文件名 * 示 ...
- java导出csv格式文件
导出csv格式文件的本质是导出以逗号为分隔的文本数据 import java.io.BufferedWriter; import java.io.File; import java.io.FileIn ...
随机推荐
- Java网络和代理
Java网络和代理 1)简介 在当今的网络环境中,特别是企业网络环境中,应用程序开发人员必须像系统管理员一样频繁地处理代理.在某些情况下,应用程序应该使用系统默认设置,在其他情况下,我们希望能够非常严 ...
- 记kepServer读写西门子PLC
在程序开发过程中为了测试方法或者验证某个属性的值是否正确 经常通过Kepserver 的 OPC Quick Client来手动置点或者读取点位 例如 这里显示的值都是经过转化后得到的十进制值,那我们 ...
- cmd与monkey测试
monkey测试的相关命令 monkey是模拟用户触摸操作,不支持条件判断.monkey命令格式: 启动安卓模拟器/真机 点击运行->输入cmd->进入命令行界面 查看设备连接情况,ad ...
- C++虚函数的工作原理
静态绑定与动态绑定 讨论静态绑定与动态绑定,首先需要理解的是绑定,何为绑定?函数调用与函数本身的关联,以及成员访问与变量内存地址间的关系,称为绑定. 理解了绑定后再理解静态与动态. 静态绑定:指在程序 ...
- go 学习笔记之工作空间
搭建好 Go 的基本环境后,现在可以正式开始 Go 语言的学习之旅,初学时建议在默认的 GOPATH 工作空间规范编写代码,基本目录结构大概是这个样子. . |-- bin | `-- hello.e ...
- jenkins未授权访问漏洞
jenkins未授权访问漏洞 一.漏洞描述 未授权访问管理控制台,可以通过脚本命令行执行系统命令.通过该漏洞,可以后台管理服务,通过脚本命令行功能执行系统命令,如反弹shell,wget写webshe ...
- Dubbo源码学习之-服务导出
前言 忙的时候,会埋怨学习的时间太少,缺少个人的空间,于是会争分夺秒的工作.学习.而一旦繁忙的时候过去,有时间了之后,整个人又会不自觉的陷入一种懒散的状态中,时间也显得不那么重要了,随便就可以浪费掉几 ...
- Linux下Docker以及portainer相关配置
一.安装使用Docer CE 本文以CentOS 7为例,安装docker CE版本,docker有两种版本,社区版本CE和企业版本EE,此处学习研究以CE版本为例, 两种安装方式可选:1.使用yum ...
- zookeeper基本知识入门(一)
之前我们在搭建hadoop分布式环境的时候用到过Zookeeper注册hadoop服务.那么到底Zookeeper在分布式环境中发挥了什么作用呢,这次我们就来讨论这个问题. 在分布式系统中通常都会有多 ...
- IPC机制1
1.Android IPC简介 Inter-Process Communication的缩写就是IPC,含义是进程间通信或是跨进程间通信,是指两个进程进行交换数据的过程. 进程是什么? 进程在pc上就 ...