首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

两天了委实找不到dbgrideh导出excel乱码的原因

2012-12-24 
两天了实在找不到dbgrideh导出excel乱码的原因SaveDBGridEhToExportFile(ExpClass,DbgridEh1,FSaveDialog.

两天了实在找不到dbgrideh导出excel乱码的原因
SaveDBGridEhToExportFile(ExpClass,DbgridEh1,FSaveDialog.FileName,true);导出的excel打开后中文字符都是乱码,请问大家这个问题是dbgrideh自带的bug吗?是不是没有解决办法?

[最优解释]
另外.你是给客户用的吗?


EH 可以直接 ctrl+c  复制出来

然后打开个 excel 再 ctrl + v
[其他解释]
我用的是D7,ehlib 5.03,没有楼主说的问题。



procedure TForm1.BitBtn7Click(Sender: TObject);
  var   ExpClass:TDBGridEhExportClass;
          Ext:String;
  begin
          SaveDialog1.FileName   :=   '';
          if   SaveDialog1.Execute   then
          begin
              case   SaveDialog1.FilterIndex   of
                  1:   begin   ExpClass   :=   TDBGridEhExportAsText;   Ext   :=   'txt';   end;
                  2:   begin   ExpClass   :=   TDBGridEhExportAsCSV;   Ext   :=   'csv';   end;
                  3:   begin   ExpClass   :=   TDBGridEhExportAsHTML;   Ext   :=   'htm';   end;
                  4:   begin   ExpClass   :=   TDBGridEhExportAsRTF;   Ext   :=   'rtf';   end;
                  5:   begin   ExpClass   :=   TDBGridEhExportAsXLS;   Ext   :=   'xls';   end;
              else
                  ExpClass   :=   nil;   Ext   :=   '';
              end;
              if   ExpClass   <>   nil   then
              begin
                  if   UpperCase(Copy(SaveDialog1.FileName,Length(SaveDialog1.FileName)-2,3))   <>
                        UpperCase(Ext)   then
                      SaveDialog1.FileName   :=   SaveDialog1.FileName   +   '.'   +   Ext;


                  SaveDBGridEhToExportFile(ExpClass,dbgrideh3,
                            SaveDialog1.FileName,true);   
              end;
          end;
end;


[其他解释]
为什么没人知道了,我在网上也没有找到好的办法啊
[其他解释]
没用过啊。。
[其他解释]
该回复于2012-10-06 16:30:26被版主删除
[其他解释]
导出到 Excel 里面你可以自己写代码导入,,完全不难的.

估计是 Unicode的问题
[其他解释]
引用:
导出到 Excel 里面你可以自己写代码导入,,完全不难的.

估计是 Unicode的问题

是啊,我改成htm后缀用网页打开后发现默认的编码是土耳其的,改成简体中文的后乱码正常了,我想探索下是什么原因造成的
[其他解释]
楼主的问题值得帮顶!
[其他解释]
那就不要用它的导出Excel功能,排版又比较单一,不如另外写一个
[其他解释]
有可能是unicode的问题。
如果是老版本delphi,我用过没遇到这个问题。
其实导出到excel,如果只是简单的行列导出,没有多余的格式,直接写xls文件效率更高。就一个几十行代码的函数轻松搞定,网上很多哦。
[其他解释]
自己弄个导出Excel得了,又不是很麻烦,格式什么的还能自己控制

热点排行