【问题标题】:Datatable not returning values from Excel (values from formulas)数据表未从 Excel 返回值(来自公式的值)
【发布时间】:2009-04-01 15:07:42
【问题描述】:

我正在处理的一个项目需要来自 C# 应用程序的值来更新 Excel 工作表中的 6 个值。然后,此 Excel 工作表填充指定范围的项目和价格,由同一 Excel 文件中的许多 VLOOKUP 公式和工作表驱动。

范围中的两列分别命名为“商品”和“价格”。

'Item' 是从电子表格上的公式连接起来的一列项目,这些项目在 DataTable 中显示得很好。但是,“价格”列中的任何值(来自 VLOOKUP 公式的所有数值)都不会出现在 DataTable 中。

在 C# 中加载 DataTable 时,我可以看到 string 和 double 两列的类型都很好。如果我用硬编码值替换公式派生值之一,则 DataTable 很好,所以我猜 DataTable 本身正在按预期工作。

如果我在将值传入 Excel 文件后打开它,我可以看到输入值正常,并且公式计算正确。

所以,我能想到的唯一问题是在将值传递给公式后没有重新计算公式。

有没有办法在 C# 中打开一个 excel 文件并让它重新计算所有公式?

【问题讨论】:

  • 您使用哪个驱动程序打开 excel 表? OLEDB 还是 ODBC?
  • 抱歉,OLEDB 用于更新查询(将值添加到工作表)和用于填充 DataTable 的选择查询

标签: c# excel datatable


【解决方案1】:

没关系,

将 OLEDB 更新替换为 Excel 互操作,使用互操作打开 Excel 文件允许重新计算公式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多