将列添加到具有现有数据源的VSTO ListObject?
有谁知道如何将列添加到Excel中的现有列表对象,已经有一个数据源从一个SQL源绑定到它? 我只是想在该数据列的每个单元格中添加一个公式的另一列,以匹配当时显示的任何数据量。
我有以下两个例子,我迄今为止已经尝试过,1.仅在语法错误的运行时发出语法Syntax error: Missing operand before '=' operator
。 2.给出一个模糊的COMexception。
1。
Dim prodDateCol = New DataColumn("Prod Date", GetType(System.Int32), "=LEFT([Production Code],4)") ComplaintsListObject.ListColumns.Add(prodDateCol)
2。
Dim objListCol = ProdListObject.ListColumns.Add() Dim listColRange = objListCol.DataBodyRange listColRange.Cells(1, 1) = "=LEFT([Production Code],4)"
我知道或者我可以这样做,使用Excel单元格后,首先检查每次列表对象的大小变化,但在查看如何做更详细的之前,我希望有一种方法来使用列表对象本身。
任何人有任何例子或build议?
谢谢
更新:我已经稍微调整了这个testing,也看更多的.Expression
的使用,它只允许某些function,所以我已经改变为SUBSTRING
LEFT
。 这个例子仍然返回一个Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
的COMexceptionInvalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Invalid index. (Exception from HRESULT: 0x8002000B (DISP_E_BADINDEX))
Dim prodDateCol As DataColumn = New DataColumn prodDateCol.ColumnName = "Prod Date" prodDateCol.DataType = System.Type.GetType("System.Int32") prodDateCol.Expression = "SUBSTRING([Production Code],1,4)" ComplaintsListObject.ListColumns.Add(prodDateCol)