将Excel xls文件转换为unix上的任何XML格式?

时间:2012-11-14 09:52:28

标签: xml linux excel

我会定期收到一个xls文件(是的,有多张表)并且有一大堆业务逻辑可以应用。我所做的想要的是必须使用第三方库,然后使用特定于库的命令,如sheet.cell(42,73)与业务逻辑混合在一起。当第三方lib过期或Excel更新时,则必须再次设计所有内容。

因此,我想要一个纤细的 xls-to-XML 转换阶段。 XML方言并不重要,“xmlx”会做,Open-Office,Open-Doc等等。它只需要明确定义。如果稍后在此转换中有更改,我希望我能用一个小的xslt来处理它。

在那个XML中,我将用我最喜欢的语言(python或perl)的xml工具编写业务逻辑,甚至只用xslt。

最可靠最简洁的xls - 文件转换为xml文件的方式是什么? Linux机器?

注意:

  • 该文件包含多个工作表,如果不是这种情况,我会要求最简单的转换为csv。
  • 该机器将是64位或32位,但无法连接到Windows机器。
  • 我宁愿不必在该服务器上安装Office,即用于编写Open-或Libre-Office脚本......
  • 唉,我不能要求文件以任何其他格式保存,例如xlsx叹息

1 个答案:

答案 0 :(得分:0)

这是使用JETDB从Excel检索数据的示例,我在net上找到了这个:

        string connstr ="Provider=Microsoft.Jet.Oledb.4.0;Data Source=C:\aaa.xls;Extended Properties=Excel 8.0"/>
        OleDbConnection conn = new OleDbConnection(connstr);
        string strSQL = "SELECT * FROM [Sheet$]";

        OleDbCommand cmd = new OleDbCommand(strSQL, conn);
        DataSet ds = new DataSet();
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        da.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();