将Excel工作表读入数据表的最佳/最快方法?

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


谢谢!!


噜噜哒
浏览 517回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP