dbgrideh导出excel,提示文件已损坏

szto2003 2011-05-11 04:00:41
dbgrideh导出excel,用excel2010打开,提示文件已损坏,不知道有没有办法解决(2000,2003,2007没有问题)
...全文
329 7 打赏 收藏 转发到动态 举报
写回复
用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的数据,也支持多表头的,不过找不到了,其实没有多少难度,就是有点繁琐罢了!
在他人的DBGridEh导出Excel的基础上进行改进,增加功能如下: 1、支持多个DBGridEH同时导出Excel的不同Sheet页 2、进度条与数据进度保持一致 3、增加了进度百分比显示 //调用方法: procedure TForm1.Button1Click(Sender: TObject); var DbOut: TDBGridEhToExcel; i: integer; begin try DbOut := TDBGridEhToExcel.Create(Self); for i := 0 to 9 do //初始化数组 begin DbOut.DBGridEhRecAry[i].TempDBGridEh := nil; DbOut.DBGridEhRecAry[i].TitleName := ''; DbOut.DBGridEhRecAry[i].SheetTabName := ''; end; //有多少个DBGridEh的数据要导出,此处表示两个 DbOut.DBGridEhRecLength := 2; //统计结果一 DbOut.DBGridEhRecAry[0].TempDBGridEh := dbgSpotCheckCount; DbOut.DBGridEhRecAry[0].TitleName := '统计结果一'; DbOut.DBGridEhRecAry[0].SheetTabName := '统计结果一'; //统计结果二 DbOut.DBGridEhRecAry[1].TempDBGridEh := dbgValuationCount; DbOut.DBGridEhRecAry[1].TitleName := '统计结果二'; DbOut.DBGridEhRecAry[1].SheetTabName := '统计结果二'; DbOut.TitleName := '统计结果'; DbOut.ShowProgress := True; DbOut.ShowOpenExcel := True; DbOut.ExportToExcel; finally FreeAndNil(DbOut); end; end; 还可以改进的地方,比如: 1、标题栏占用几行,字体,字体颜色,字体大小,背景颜色可以封装提供设置方法; 2、字段标题字体,字体颜色,字体大小; 3、表格样式设置; 就是动态数据不会封装到类里面,如果有高人封装得更好一些,请发一份我;

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧