SaveDBGridEhToExportFile(ExpClass,DbgridEh1,FSaveDialog.FileName,true);导出的excel打开后中文字符都是乱码,请问大家这个问题是dbgrideh自带的bug吗?是不是没有解决办法?
解决方案 »
- Window Shell 命名空间扩展,做过的来看看~100分相送
- 请问到哪下载FAST REPORT?
- 关于打印很多字段的报表的问题,建议或者方案,重谢啊!
- DBGRID中显示四个字段只对应数据库中的一个字段 如何实现?(着急ing)!
- 我是delphi的初学者,怎么样才能实现控件的自动调整大小呢?(在线等待!!)
- 在Excel中存放图片!然后通过程序转存入SQL SERVER中!但是…………
- 程序员们都有电脑,却无二手论坛:另,购二手笔记本电脑,价位在7000以下
- 如何规定在编辑框里输入的是数字
- ADO能用下面的方法加入数据库吗?
- 头痛,头痛。一个很老套但我还没有实现的问题:WinINet里面没有办法可以支持FTP断点续传的函数吗?
- delphi2007以上版本编译出来的程序都需要.net环境才能运行吗
- 我想改TTimer类名,请教如何改?结贴率100%
EH 可以直接 ctrl+c 复制出来然后打开个 excel 再 ctrl + v
如果是老版本delphi,我用过没遇到这个问题。
其实导出到excel,如果只是简单的行列导出,没有多余的格式,直接写xls文件效率更高。就一个几十行代码的函数轻松搞定,网上很多哦。
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;