ここの誰かが私を正しい方向に向けてくれることを願っています-Excelシート(.xlsまたは.xlsxの場合もあります)からDataTableにデータを読み取るためのかなり堅牢なユーティリティプログラムを作成しようとしています。可能。
私はVBでこのルーチンを思いついた(私は良いC#の答えで同じように満足しているだろうが):
Public Shared Function ReadExcelIntoDataTable(ByVal FileName As String, ByVal SheetName As String) As DataTable
Dim RetVal As New DataTable
Dim strConnString As String
strConnString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & FileName & ";"
Dim strSQL As String
strSQL = "SELECT * FROM [" & SheetName & "$]"
Dim y As New Odbc.OdbcDataAdapter(strSQL, strConnString)
y.Fill(RetVal)
Return RetVal
End Function
これが最善の方法なのか、それとも代わりに使用するより良い/より効率的な方法(またはよりインテリジェントな方法-おそらくLinq /ネイティブの.Netプロバイダー)があるのだろうか?
また、簡単でばかげた追加の質問-変数はルーチンの最後に終了するはずなので、などのコードを含める必要がy.Dispose()
ありますか?y = Nothing
ありがとう!!