现装dbgrideh中的数据导出到excel中,但是导出的数据的列宽不是自动调整的。我想实现导出后列宽自动调整,前提是这个功能在不装excel也可以正常导出!这个问题捆扰我好久了!请高手指教!!!!!!!!!!!

解决方案 »

  1.   

    試 一試inforpower控件,wwdbgrid 可以自動導出數據
      

  2.   

    我说也是太高难了,没有安装EXCEL怎么还能导出呢?关注!!!!
      

  3.   

    就是说,在不装excel的前提下,导出可以正常进行!导出的文件放在装有excel的机器上,也可以正常看的吗?不知哪位大哥,可以把dbgrideh的源代码改一改,来完成这个功能!
      

  4.   

    可以用Dev Express 套装组件中的TcxSpreadSheet组件来实现,如果需要的话可以给你传过去。我的QQ:13160532
      

  5.   

    不会把,没有安装EXE的计算看安装exe计算机中的exe文件,能看吗?可是要用你本身的计算机的应用的亚?
      

  6.   

    如果单只为了导入导出,可以采用数据库访问的形式,用oledb连接Excel文件,用法和普通数据库操作一样
      

  7.   

    看你是小妹妹,大哥我就帮你一下喽
    uses ComObj;
    {$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      MSExcel:Variant;
      i,j:integer;
    begin
      SaveDialog1.Filter:='*.XLS|*.XLS';
      SaveDialog1.DefaultExt:='XLS';
      if SaveDialog1.Execute then
      begin
        MsExcel:=createOLEobject('excel.application');
        MsExcel.workBooks.add;
        Msexcel.visible:=false;
        with DataSource1.Dataset  do
        begin
          first;
          for i:=0 to fieldcount-1 do
          begin
            Msexcel.cells[1,i+1].value:=fields[i].DisplayLabel ;
          end;
          j:=2;
          while not eof do
          begin
            for i:=0 to fieldcount-1 do
            begin
              Msexcel.cells[j,i+1].numberformat:='@';
              Msexcel.cells[j,i+1].value:=fields[i].AsString ;
            end;
            inc(j);
            next;
          end;
        end;
        MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
        MSExcel.ActiveWorkBook.Saved:=True;
        MSExcel.Quit;
      end;
    end;
      

  8.   

    搂主:不好意思,借用一下你的地方
    dbgrideh中的数据导出到excel中需要什么控件?仅用dbgrideh我的怎么不行?
      

  9.   

    为了方便DELPHI爱好者的讨论,我新建立了一个群,全是D的爱好者,欢迎大家加入,群号:5245338