各位路过的大神 有没有方法解决限制导出的Excel版本必须为2003的版本,如电脑上安装的是2003版本和2007版本而导出的只能为2003版的

解决方案 »

  1.   

    到出应该不难,你先将excle做成xml模板,然后操作xml然后在另存为xls就可以了。
      

  2.   

    先输出数据到Excel,再另存时指定97~2003格式即可
      

  3.   

    我是用delphi 6里的控件ExcelApplication直接生产不需要弹出提示,我把保存的文件名字的后缀设为.xls,然后打开文件的时候会提示:您尝试代开的文件‘ZFII2006_REV20110610111908.xls‘的格式与文件扩展名指定的格式不一致,打开文件前请验证文集没有损坏且来源可信,是否立即打开该文件?
      

  4.   

    ..你直接写代码导出部就可以了?
    procedure TForm13.Button1Click(Sender: TObject);
    var
      i,n: Integer;
      xlsApp: Variant;
    begin
      if adsMaster.Eof then begin
        ShowMessage('没有数据!');
        exit;
      end;
      xlsApp := CreateOleObject('Excel.Application');
      xlsapp.WorkBooks.add;
      xlsApp.Visible := false;
      xlsApp.WorkSheets[1].Activate;  adsMaster.First;
      i :=1;
      //填Excel标题行
      for n:=1 to adsMaster.FieldCount do xlsApp.Cells[i,n].Value := adsMaster.Fields[n-1].DisplayLabel;
      While not adsMaster.Eof do begin
        inc(i);//因在循环前使用了一次填标题行,所以在前面做增量
        for n:=1 to adsMaster.FieldCount do begin
          if adsMaster.Fields[n-1].FieldName = 'WO' then xlsApp.Cells[i,n].Value := '''' + adsMaster.Fields[n-1].AsString
          else xlsApp.Cells[i,n].Value := adsMaster.Fields[n-1].AsString;    end;    adsMaster.Next;
      end;
      xlsApp.Visible := true;
    end;
      

  5.   

    你可以用EHlib里面的dbgrideh来导出,这样既方便又可以轻松设置你想要的2003版本。
      

  6.   

    导出的时候,获取EXCEL的句柄,判断当前的EXCEL属性是否为2003,就可以决定是否继续导出了。
    代码太多,我只能告诉你方法了。
      

  7.   

    谢谢各位了 我已经找到方法了 保存的时候有个参数  如:
    ExcelWorksheet1.SaveAs(str,56);
    希望对大家有什么帮助
      

  8.   

    最简单而且效率最高的方法是遍历表格,然后将每个数据用#9(跳格键TAB)分开,然后存成xls文件即可(实际是一个txt)。
      

  9.   

    最快的方法是利用 Tstring 保存为字符串,tstring.savefile(1.xls)