是否可以使用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将数据传输到工作表