同上

解决方案 »

  1.   

    两种方法
    第一种,用SERVER组件里的EXCELAPPLICATION组件进行导出,不过速度慢
    第二种方法,导出成TXT的类型,用分隔符分开
    例:
    var
        i:integer;
        str:string;
        f:textfile;
    begin
    assign(f,'c:\a.txt');此文件必须存在
    rewrite(f)
    table1.first;
    while not table1.eof do
    begin
        str:='';
        for i:=0 to table1.fieldcount-1 do
          str:=str+tabel1.fields[0].asstring+',';
        
          writeln(f,str);
        table1.next;
    end;
    closefile(f);
    我没有机器进行调试
    大至思路这样,你自己试试吧
      

  2.   

    我是在把dbgrid中的数据导出啊,而且这上面的数据有些是数据中没有的
      

  3.   

    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      form1.Database1.Connected:=false;
    end;procedure TForm1.N5Click(Sender: TObject);
    begin
      if form7.ShowModal=mrok then
         form7.Show;
    end;procedure TForm1.EXCEL1Click(Sender: TObject);
     var
        i       :integer;
        tsList  :TStringList;
        s       :string;
        aSheet  :Variant;begin
        Excelapplication1.Connect;                  // 打开Excel
        Excelapplication1.Visible[0]:=true;         // 显示Excel
        Excelapplication1.Workbooks.Add(xlWBATWorksheet,0);
        aSheet:=excelapplication1.Worksheets.Item[1];
        tsList:=TStringList.Create;
          s:='';
          for i:=0 to tempdg.FieldCount-1 do
               s:=s+tempdg.Columns[i].Title.Caption+#9;
               tsList.Append(s);
            try
                with query1 do
                begin
                    First;
                    While Not Eof do
                    begin
                        s:='';
                        for i:=0 to FieldCount-1 do
                        begin
                            s:=s+Fields[i].AsString+#9;
                            Application.ProcessMessages;
                        end;
                        tsList.Append(s);
                        next;
                    end;
                    Close;
                end;
                Clipboard.AsText:=tsList.Text;
        finally
            tsList.Free;
        end;
        Excelapplication1.Disconnect;
        aSheet.Paste;
        try
        if MessageBox(Application.Handle,'数据导出完成,确认保存吗?','系统提示',MB_ICONQUESTION+MB_YESNO)=IDYES then
        begin
          if SaveDialog1.Execute then
           ExcelApplication1.ActiveWorkBook.SaveAs(SaveDialog1.FileName,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,0);
        end;
        finally
        excelapplication1.quit; //退出EXCEL软件
        end;
    end;