【问题标题】:Do I need to have Excel installed to query spreadsheets using an OleDB Provider?我是否需要安装 Excel 才能使用 OleDB 提供程序查询电子表格?
【发布时间】:2010-10-19 19:20:57
【问题描述】:

我正在开发一些使用 OleDB 打开 .xls 文件、查询一些数据并用结果填充数据集的软件。我现在正在考虑在没有 Excel 的系统上使用这个软件。我的软件还能读取电子表格吗?

这个 xls 文件包含我的软件使用的 1000 多个配置设置。如果此设置无法在没有 Excel 的计算机上运行,​​我猜我的下一个最佳举措是将 xls 文件转换为 XML 文件并使用 XML 服务读取它。

【问题讨论】:

    标签: c# excel oledb


    【解决方案1】:

    您不必安装办公室或办公室数据连接,您可以使用 Jet for OleDB 引擎,该引擎安装在几乎所有现有的 Windows 机器上。但是它是非常古老的技术,仅限于 32 位。

    http://msdn.microsoft.com/en-us/library/ms175866.aspx

    如果您想完全避免这种混乱,请切换到 app.config 文件或属性文件,您可以获得纯 .net 解决方案。

    【讨论】:

    • 我现在使用 JET 作为我的 OleDB 提供程序,所以听起来它在没有 Excel 的计算机上仍然可以工作。
    • 我不确定 2010 年,但至少支持 2007 年。 "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 12.0;IMEX=1;HDR=YES;" 如果情况变得更糟,请将文件保存为 Jet 可以使用的 2003 格式处理。
    【解决方案2】:

    您需要或者完整的Office 在客户端计算机上安装Office Data Connectivity Components

    【讨论】:

    • 数据连接组件似乎适用于 Office 2010 和 2007。对于 Office 2003 电子表格,我需要主互操作程序集吗?
    • 我认为您可以在旧版本的 Office 中使用 Jet for OleDB。
    猜你喜欢
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 2011-04-12
    相关资源
    最近更新 更多