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

これは、Interop を使用しているときに時々発生します。この場合、Excel のすべてのオブジェクトは実際には COM オブジェクトです。

Cells(1,1).ValueまたはCells(1,1).Value2またはを使用しCells(1,1).Textます。これはあなたに最適です。(最初にセルを範囲にキャストまたは変換する必要があるかもしれません)

于 2013-05-08T15:40:07.197 に答える