0

我有一个案例,我需要使用 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
4

1 回答 1

1

使用互操作时有时会发生这种情况。在这种情况下,Excel 中的所有对象实际上都是 COM 对象。

使用Cells(1,1).ValueCells(1,1).Value2Cells(1,1).Text。最适合你。(也许您需要先将单元格转换或转换为范围)

于 2013-05-08T15:40:07.197 回答