我希望这里有人可以为我指明正确的方向 - 我正在尝试创建一个相当强大的实用程序来将 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
或将要处理的代码,因为变量应该在例程结束时消失,对吗?
谢谢!!