Delphi 7将XLS(X)转换为CSV

我需要将XLS或XLSX文件转换为csv(分号分隔)。 它可能是一个组件,一个DLL或一个命令行工具,但它必须是无人看pipe,不可见的用户,最好有本地支持,所以不需要安装Excel。

很多好的build议在这里 。 尽pipe这些支持XLSX似乎并不多。

我不确定“无人参与”是什么意思,但我想我会尝试在Delphi中使用ADO(dbGo)访问和读取Excel文件。 在About.com Delphi上可以find一个全面的how-to文章。 一旦Excel数据处于TADOTable中,将表格数据重写为所需的CSV格式并将其保存到文件应该相当容易。

看来,ADO方法支持读取和写入XLS,XLSX和XLSB文件。

但是,必须安装2010版的Microsoft Access数据库引擎。 可再发行组件是免费的,它不需要安装Excel或Microsoft Office。

我昨天证实,它可以处理所有三种Excel文件格式,并且可以获得我的示例代码,演示如何将电子表格转换为CSV文件:

使用ADO将Excel电子表格转换为CSV

Scalabium的SMImport原生支持XLS和XLSX。 这是合理的价格与良好的支持。 我们用它取得了巨大的成功。