【问题标题】:Is it possible to use OLEDB to insert a formula?是否可以使用 OLEDB 插入公式?
【发布时间】:2013-02-08 12:07:47
【问题描述】:

我已经使用 OLEDB 成功创建了一个 Excel 文件(在第一次创建表格/工作表之后)。我想插入一个对成本(货币)单元格求和的公式,但找不到任何这样做的技术。

我尝试将公式插入到 Cost 字段中,但收到无效数据类型错误,这是可以理解的:

cmd.Parameters.Add("P0", OleDbType.PropVariant).Value = "=SUM(K2:K5)"
cmd.CommandText = "INSERT INTO  [" & ExcelTableName & "] (Cost) VALUES(P0);"
cmd.ExecuteNonQuery()

有什么方法可以使用 OLEDB 来做到这一点,或者我需要使用自动化吗?

【问题讨论】:

标签: vb.net excel oledb excel-formula


【解决方案1】:

您可以使用在列中包含公式的 SQL 查询,并在 Excel 中使用 ADO DB 记录集来执行查询。

然后,您将使用 range 对象上的 CopyFromRecordset 方法将结果集转储到包含公式的 Excel 中。

例如:

sQry="Select fields, '=IF(A:A>=B:B, ''''Good'''', ''''Bad'''') from table where criteria'
xlApp.Range("A1").CopyFromRecordset oRs

这也可以从 .NET 中完成,只是不同...

MSDN Library: Transfer data to a worksheet by using ADO.NET

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-24
    相关资源
    最近更新 更多