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