TdxDBGrid表格组件提供了SaveToText 方法,但不知道有没有将之前导出的文本再导回来的方法。
谢谢。

解决方案 »

  1.   

    http://dev.csdn.net/article/51/51828.shtm
    http://dev.csdn.net/article/51/article/51/51836.shtm
    http://dev.csdn.net/article/51/article/51/article/51/51839.shtm
    http://dev.csdn.net/article/51/article/51/article/51/article/51/51841.shtm
    http://dev.csdn.net/article/51/article/51/article/51/article/51/article/51/51845.shtm
      

  2.   

    看到有如何导入EXCEL的,没有介绍如何导入TXT的。
    :)谢谢。再等等看
      

  3.   

    http://www.xue68.com 上面搜到过类似信息
      

  4.   

    换个控件吧
    安装DevExpress Grid控件,即将此Grid连到数据上,将数据select出来后在dxDBGrid中显示,然后再通过它的导出功能来另存为Excel,Html,Text,XMl
    比如:dxDBGrid1.SaveToXLS(FileName)就可将数据导出为EXCEL文件。呵呵
      

  5.   

    DBGrid中的操作时这样的,我想dxDBGrid中也是可以的吧
    -------------------------------------------------------
    {///.功能:数据结果导出到Txt文件}
    procedure DataToTxt(FileName,pCaption:string;var pTitle:TstringList;pDBGrid:TDBGrid);
    var
      MyFile: TextFile;
      FileCaption:String;
      FileTitle:TStringList;
      DBGrid1:TDBGrid;
      i,j: integer;
    begin
      FileCaption:=pcaption;
      FileTitle:=pTitle;
      DBGrid1:=pDBGrid;
      if ExtractFileExt(uppercase(Filename))<> '.TXT' then
      Filename := ChangeFileExt(Filename, '.TXT');
      AssignFile(MyFile, Filename);
      Rewrite(MyFile);
      try
        //表头内容
        writeln(MyFile,FileCaption);
        if FileTitle.Count>0 then
          for i:=0 to FileTitle.Count-1 do
          begin
            writeLn(MyFile,FileTitle.Strings[i]);
          end
        else
          i:=1;
        //获取字段名
        j:=i+2;
        for i:=0 to DBGrid1.Columns.Count-1 do
        begin
          Write(MyFile,DBGrid1.Columns[i].Title.Caption);
          ///作为字段分隔符
          Write(MyFile,'|');
          j:=j;
        end;
        Writeln(MyFile);
        //表体内容
        j:=j+1;
        DBGrid1.DataSource.DataSet.DisableControls;
        DBGrid1.DataSource.DataSet.First;
        while not DBGrid1.DataSource.DataSet.Eof do
        begin
          For i:=0 to DBGrid1.Columns.Count-1 do
          begin
            Write(MyFile,DBGrid1.DataSource.DataSet.FieldByName(DBGrid1.Columns[i].FieldName).AsString);
            ///作为字段分隔符
            Write(MyFile,'|');
          end;
          WriteLn(Myfile);
          DBGrid1.DataSource.DataSet.Next;
          j:=j+1;
        end;
        DBGrid1.DataSource.DataSet.EnableControls;
        CloseFile(MyFile);
        Application.MessageBox('数据导出完毕','商务管理系统',MB_ICONQUESTION+MB_OK);
      except
        ////
      end;
    end;