是否可以使用OLEDB插入一个公式?

我已经成功创build了一个使用OLEDB的Excel文件(在第一次创build表格/表格之后)。 我想插入一个公式,总结一个成本(货币)单元格,但一直没有find任何技术这样做。

我已经尝试将公式插入成本字段如下,但收到无效的数据types错误,这是可以理解的:

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

有没有办法使用OLEDB这样做,还是我需要使用自动化?

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

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

例如:

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

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

请参阅MSDN Library:使用ADO.NET将数据传输到工作表