问题1:
[Error] fyear.pas(212): Undeclared identifier: 'createOLEobject'
从DBGRIDEH中导出EXCEL文件,出错提示如上。怎么解决?
问题2.用下面代码输出EXCEL,可以输出,但XLS文件不可读取,原因何在?
var
    ExpClass:TDBGridEhExportClass;
    Ext:String;
begin
with fm_data.Cd_Master do
begin
    SaveDialog.FileName:='file1';
    //if   (ActiveControl   is   TDBGridEh)   then
        if SaveDialog.Execute then
        begin
            case SaveDialog.FilterIndex of
                1:   begin   ExpClass   :=   TDBGridEhExportAsXLS;   Ext   :=   'xls';   end;
            else
                ExpClass   :=   nil;   Ext   :=   '';
        end;
        if   ExpClass   <>   nil   then
        begin
            if   UpperCase(Copy(SaveDialog.FileName,Length(SaveDialog.FileName)-2,3)) <> UpperCase(Ext) then
                SaveDialog.FileName   :=   SaveDialog.FileName   +   '.'   +   Ext;
            SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog.FileName,False);
            //其中false为局部数据
        end;
    end;
end;
end;

解决方案 »

  1.   

    问题1已经解决了,不过出现了另外一个问题,
    EXCEL表中要输出的字段名为数据库里面的字段名(英文的),而不是我想要的汉字名字。问题2等待答案!
      

  2.   

    问题2也基本解决,不知道怎么设置字段名的font属性。没人回答,顺便,再加一个问题,把EXCEL导入DBGRIDEH中,什么思路?最好有源码!明天结贴。
      

  3.   

    (1)用EMS.Quick.Export控件 导出,字段名称可以自己设置.
    (2)用EMSQuickImport控件将EXCEL导入数据表中,然后再显示到DBGRIDEH
      

  4.   

    SaveDBGridEhToExportFile(ExpClass,DBGridEh1,SaveDialog.FileName,False);
    false改成true;