我已经使用OLEDB成功创建了一个Excel文件(在首次创建表/表之后)。我想插入一个公式,该公式总结了一个Cost(货币)单元格但却找不到任何相关技术。
我已尝试将公式插入Cost字段,如下所示,但收到无效的数据类型错误,这是可以理解的:
cmd.Parameters.Add("P0", OleDbType.PropVariant).Value = "=SUM(K2:K5)"
cmd.CommandText = "INSERT INTO [" & ExcelTableName & "] (Cost) VALUES(P0);"
cmd.ExecuteNonQuery()
有没有办法使用OLEDB这样做,还是需要使用自动化?
答案 0 :(得分:0)
您可以使用包含列中公式的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: Transfer data to a worksheet by using ADO.NET