16,554
社区成员
发帖
与我相关
我的任务
分享
Public Function LoadExcelToDataTable(ByVal FilePath As String, ByVal SheetName As String) As System.Data.DataTable
LoadExcelToDataTable = Nothing
Try
Dim strConn As String
'Excel 07及以下版本
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"
'Excel 2010版本
'strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'"
Dim OleConn As New OleDb.OleDbConnection(strConn)
OleConn.Open()
Dim sql As String = String.Empty
sql = "Select * From [" & Trim(SheetName) & "$]"
Dim OleDaExcel As New OleDb.OleDbDataAdapter(sql, OleConn)
Dim OleDsExcle As New DataSet
OleDaExcel.Fill(OleDsExcle)
OleConn.Close()
If OleDsExcle.Tables.Item(0).Rows.Count = 0 Then
Return Nothing
End If
Return OleDsExcle.Tables(0)
Catch ex As Exception
MessageError("導入Excel文件失敗!失敗原因:" + ex.Message)
Return Nothing
End Try
End Function
2、寫Excel有很多第三方控件就很方便。比如FlexGrid1.Save函數等。如果不用第三方控件,只有用程序打開Exce文件,逐個單元格填寫了,效率比較低(數據量不大的話,可以考慮)。