我已经成功地使用OLEDB创建了一个Excel文件(在第一次创建表格/工作表之后)。我想插入一个公式来计算成本(货币)单元格的总和,但找不到任何方法。
我尝试将公式插入到“成本”域中,如下所示,但收到无效数据类型错误,这是可以理解的:
cmd.Parameters.Add("P0", OleDbType.PropVariant).Value = "=SUM(K2:K5)"
cmd.CommandText = "INSERT INTO [" & ExcelTableName & "] (Cost) VALUES(P0);"
cmd.ExecuteNonQuery()
有没有什么方法可以使用OLEDB来完成这个任务,或者我需要使用自动化?
1条答案
按热度按时间rwqw0loc1#
您可以使用在列中包含公式的SQL查询,而在Excel中使用ADODB记录集来执行查询。
然后,您可以在 * range * 对象上使用CopyFromRecordset方法,将结果集转储到Excel中,其中将包含公式。
例如:
这也可以从. NET中完成,只是不同...
参见MSDN Library: Transfer data to a worksheet by using ADO.NET