我希望这里的人可以为我指明正确的方向-我试图创建一个相当健壮的实用程序,以将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()and y = Nothing或will这样的代码,因为变量应该在例程结束时死掉,对吗?
谢谢!!