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 ...
随机推荐
- 段落超出div部分隐藏显示
overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
- 重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印
重复造轮子系列——基于FastReport设计打印模板实现桌面端WPF套打和商超POS高度自适应小票打印 一.引言 桌面端系统经常需要对接各种硬件设备,比如扫描器.读卡器.打印机等. 这里介绍下桌面端 ...
- TreeSet类的排序
TreeSet支持两种排序方法:自然排序和定制排序.TreeSet默认采用自然排序. 1.自然排序 TreeSet会调用集合元素的compareTo(Object obj)方法来比较元素之间大小关系, ...
- 部分 语法Mysql
##1.创建数据库 CREATE DATABASE S2230MySchool ##2.创建数据表 CREATE TABLE Student ( stuNo INT PRIMARY KEY AUTO_ ...
- On The Way—Step 2 Python入门之Python内容初始
2.1 输出 print() 打印一个字符串 print('你真好!') 打印变量内容 a = '你真好!' print(a) 结果都是:你真好! 2.2 变量 变量名字规则 只能用下划线.字 ...
- Docker 入门及安装[Docker 系列-1]
docker 如日中天,这不是单纯的炒概念,docker 确确实实解决了开发与运维的痛点,因此在企业开发中得到了非常广泛的使用,本文对于 docker 的这些基本知识点再做一些简单回顾. 什么是 do ...
- BeanFactory体系结构
BeanFactory是Spring中非常重要的一个类,搞懂了它,你就知道了bean的初始化和摧毁过程,对于深入理解IOC有很大的帮助. BeanFactory体系结构 首先看一下使用IDEA生成的继 ...
- 五、Python基础(2)
五,Python基础(2) 1.数据类型基础 (一)什么是数据类型? 用于区分变量值的不同类型. (二)为何对数据分类? 针对不同状态就应该用不同类型的数据去标识. (三)数据类型分类 1.数字类型 ...
- Qt Socket 收发图片——图像拆包、组包、粘包处理
之前给大家分享了一个使用python发图片数据.Qt server接收图片的Demo.之前的Demo用于传输小字节的图片是可以的,但如果是传输大的图片,使用socket无法一次完成发送该怎么办呢?本次 ...
- SpringMVC学习笔记之---数据绑定
SpringMVC数据绑定 一.基础配置 (1)pom.xml <dependencies> <dependency> <groupId>junit</gro ...