求一段能将  excel  转换成txt的代码 csv也可以 要支持多个工作表转换的。。
try
      QryCom.Close;
      QryCom.Connection :=cnn;
      cnn.Connected := False;
      cnn.ConnectionString := Format('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Extended Properties=Excel 8.0', [path]);
      cnn.Connected := True;
      cnn.GetTableNames(TableList,True);      for K :=0 to TableList.Count-1 do
      begin
        QryCom.SQL.Text := Format('select * from [%s]',[TableList[K]]);
        if Pos(UpperCase('Print_Titles'),UpperCase(QryCom.SQL.Text)) >0 then
          continue;
        QryCom.Open;
//        QryCom.SaveToFile('D:\1111.csv');
        QryCom.First;
        while not QryCom.Eof do
        begin
          for I := 0 to QryCom.Fields.Count -1 do
          begin
            sStr := sStr + QryCom.Fields[I].AsString;
          end;
          QryCom.Next;
        end;
        Memo2.Text :=sStr;      end;
    except
      Memo1.Lines.Add(Path);
    end;
这是我自己的写能实现,但是速度实在是无法忍受。。
求更好的方法。

解决方案 »

  1.   

    数据多,肯定会影响速度,不过最快的还是自己搞清楚excel的存储,直接操作数据流
      

  2.   

    VBA代码:
    ActiveWorkbook.SaveAs Filename:= "c:\test.csv",FileFormat:= xlCSV, CreateBackup:=False;
    翻译成Delphi即可,这个是直接把Excel另存为.csv格式的文件。
      

  3.   

    VBA代码:
    ActiveWorkbook.SaveAs Filename:= "c:\test.csv",FileFormat:= xlCSV, CreateBackup:=False;
    翻译成Delphi即可,这个是直接把Excel另存为.csv格式的文件。貌似在delphi 中只能保存活动表页的内容。我要转换的excel很多都是多个工作表的,有点难度。
      

  4.   

    谢谢大家的支持,现在问题解决了。十一期间找人帮忙用vb写了个简单的word和excel 转换成txt的小程序。