我有一个案例需要使用SSIS读取带有过滤行的excel文件。
我已经开始测试这个过程,但是当我查看我的表时,我得到的只是“System .__ ComObject”
我确定我做了些蠢事。
由于
Public Overrides Sub CreateNewOutputRows()
Dim xlApp = New Excel.Application
Dim wb As Microsoft.Office.Interop.Excel.Workbook
Dim rw As Excel.Range
xlApp.DisplayAlerts = False
wb = xlApp.Workbooks.Open("C:\PosData\test.xlsx")
Dim visible As Excel.Range = wb.Sheets("Data").UsedRange.SpecialCells(Excel.XlCellType.xlCellTypeVisible, Type.Missing)
For Each rw In visible.Rows
Output0Buffer.AddRow()
Output0Buffer.Column = rw.Cells(1, 1).ToString
Next
Output0Buffer.SetEndOfRowset()
End Sub
答案 0 :(得分:1)
使用Interop时有时会发生这种情况。 在这种情况下,Excel中的所有对象确实都是COM对象。
使用Cells(1,1).Value
或Cells(1,1).Value2
或Cells(1,1).Text
。这对你最合适。
(也许你需要先将单元格转换或转换为范围)