将列添加到具有现有数据源的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)