社区
Delphi
帖子详情
dbgrideh导出excel,提示文件已损坏
szto2003
2011-05-11 04:00:41
dbgrideh导出excel,用excel2010打开,提示文件已损坏,不知道有没有办法解决(2000,2003,2007没有问题)
...全文
329
7
打赏
收藏
dbgrideh导出excel,提示文件已损坏
dbgrideh导出excel,用excel2010打开,提示文件已损坏,不知道有没有办法解决(2000,2003,2007没有问题)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
szto2003
2011-05-16
打赏
举报
回复
自己再顶一下!!
szto2003
2011-05-14
打赏
举报
回复
自己再顶一下!!
szto2003
2011-05-11
打赏
举报
回复
看来这个问题无解了!!
newfang
2011-05-11
打赏
举报
回复
用office 2003打开木有问题的路过……
szto2003
2011-05-11
打赏
举报
回复
自己顶一下,望高手指点
szto2003
2011-05-11
打赏
举报
回复
dbgrideh自带excel导出的,不要这么麻烦吧,现在就是兼容的问题!!
gobiz
2011-05-11
打赏
举报
回复
从前曾经写过一个函数,使用XLSReadWriteII组件来导出DBGridEh的数据,也支持多表头的,不过找不到了,其实没有多少难度,就是有点繁琐罢了!
支持多个
DB
Grid
EH
导出
Excel
在他人的
DB
Grid
Eh
导出
到
Excel
的基础上进行改进,增加功能如下: 1、支持多个
DB
Grid
EH
同时
导出
到
Excel
的不同Sheet页 2、进度条与数据进度保持一致 3、增加了进度百分比显示 //调用方法: procedure TForm1.Button1Click(Sender: TObject); var
Db
Out: T
DB
Grid
Eh
To
Excel
; i: integer; begin try
Db
Out := T
DB
Grid
Eh
To
Excel
.Create(Self); for i := 0 to 9 do //初始化数组 begin
Db
Out.
DB
Grid
Eh
RecAry[i].Temp
DB
Grid
Eh
:= nil;
Db
Out.
DB
Grid
Eh
RecAry[i].TitleName := '';
Db
Out.
DB
Grid
Eh
RecAry[i].SheetTabName := ''; end; //有多少个
DB
Grid
Eh
的数据要
导出
,此处表示两个
Db
Out.
DB
Grid
Eh
RecLength := 2; //统计结果一
Db
Out.
DB
Grid
Eh
RecAry[0].Temp
DB
Grid
Eh
:=
db
gSpotCheckCount;
Db
Out.
DB
Grid
Eh
RecAry[0].TitleName := '统计结果一';
Db
Out.
DB
Grid
Eh
RecAry[0].SheetTabName := '统计结果一'; //统计结果二
Db
Out.
DB
Grid
Eh
RecAry[1].Temp
DB
Grid
Eh
:=
db
gValuationCount;
Db
Out.
DB
Grid
Eh
RecAry[1].TitleName := '统计结果二';
Db
Out.
DB
Grid
Eh
RecAry[1].SheetTabName := '统计结果二';
Db
Out.TitleName := '统计结果';
Db
Out.ShowProgress := True;
Db
Out.ShowOpen
Excel
:= True;
Db
Out.ExportTo
Excel
; finally FreeAndNil(
Db
Out); end; end; 还可以改进的地方,比如: 1、标题栏占用几行,字体,字体颜色,字体大小,背景颜色可以封装提供设置方法; 2、字段标题字体,字体颜色,字体大小; 3、表格样式设置; 就是动态数据不会封装到类里面,如果有高人封装得更好一些,请发一份我;
db
grid
eh
导出
到
excel
db
grid
eh
导出
到
excel
,数据库
导出
到
excel
delphi
db
grid
导出
excel
单元
文件
绝对好用
delphi
db
grid
导出
excel
单元
文件
绝对好用 调用方式 var
Grid
to
Excel
: T
DB
Grid
Eh
To
Excel
; begin
Grid
to
Excel
:= T
DB
Grid
Eh
To
Excel
.Create(nil); try
Grid
to
Excel
.
DB
Grid
Eh
:=
DB
Grid
Eh
1;
Grid
to
Excel
.FileName := FormatDateTime('yyyy-mm-dd',DateTimePicker1.DateTime)+ '--------'+FormatDateTime('yyyy-mm-dd',DateTimePicker2.DateTime) +'退款订单
导出
';
Grid
to
Excel
.ShowProgress := True;
Grid
to
Excel
.ExportTo
Excel
; finally
Grid
to
Excel
.Free; end; end;
比较快速的将
DB
Grid
Eh
中的数据
导出
到
Excel
中
特点:一、不需安装
Excel
即可
导出
。二、有进度条。三、最多可以
导出
多少条,我没试,我试了5万条没有问题,时间也就是只需1-5分钟(我电脑较慢)。四、需安装
eh
lib组件。使用方法(注:别忘了uses
DB
Grid
To
Excel
;):procedure TForm1.btn2Click(Sender: TObject);var
DB
Grid
Eh
To
Excel
: T
DB
Grid
Eh
To
Excel
;
Excel
FileName: string;begin
DB
Grid
Eh
To
Excel
:= T
DB
Grid
Eh
To
Excel
.Create(nil); try
DB
Grid
Eh
To
Excel
.TitleName := '
导出
测试';
DB
Grid
Eh
To
Excel
.BeginDate := '开始日期:2005-07-01';
DB
Grid
Eh
To
Excel
.EndDate := '结束日期:2005-07-18';
DB
Grid
Eh
To
Excel
.UserName := '系统管理员';
DB
Grid
Eh
To
Excel
.
DB
Grid
Eh
:=
DB
Grid
Eh
1;
DB
Grid
Eh
To
Excel
.ShowProgress := True; if
Excel
FileName = '' then begin
Excel
FileName := 'c:\1.xls'; with TSaveDialog.Create(nil) do begin Filter := 'Microsoft
Excel
xls
文件
|*.xls'; DefaultExt := 'xls'; if not Execute then Exit else
Excel
FileName := FileName; end; end;
DB
Grid
To
Excel
.FileName :=
Excel
FileName;
DB
Grid
Eh
To
Excel
.ExportTo
Excel
; finally
DB
Grid
Eh
To
Excel
.Free; end;end;
DB
Grid
eh
导出
Excel
支持多表头,不需要系统安装office。支持2003-2007以上。注意:需要安装XLSReadWrite。 另:XLSReadWrite
导出
特殊符号例如X乘号之类的会乱码。有解决的朋友请联系。
Delphi
5,392
社区成员
262,732
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章