既存の Excel ファイルのデータを必要とするプログラムを作成しています。フォームで作成した VB プログラムのメッセージ ボックスにセルの値をいくつか表示したい。どうすればVB-2008で入手できますか? 助けてください。
質問する
238 次
1 に答える
1
次の例の「TABLE_NAME」は、Excel ファイルの最初のシートの名前になると思います。
Imports System.Data.OleDb
Imports System.Data
Private Function getExcelDataTable() As Data.DataTable
Dim dt As New Data.DataTable
Dim fileName As String = Server.MapPath("~/Temp/MyExcel.xls")
Dim xConnStr As String = "Provider=Microsoft.Ace.OLEDB.12.0;" & _
"Data Source=" & fileName & ";Extended Properties=""Excel 12.0;IMEX=1"""
Dim objXConn As New OleDbConnection(xConnStr)
Try
objXConn.Open()
Dim dtSchema As Data.DataTable
dtSchema = objXConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, New Object() {Nothing, Nothing, Nothing, "TABLE"})
Dim sheet1 As String = dtSchema.Rows(0).Item("TABLE_NAME")
Dim objCommand As New OleDbCommand("SELECT * FROM [" & sheet1 & "]", objXConn)
Dim objDataAdapter As New OleDbDataAdapter()
' retrieve the Select command for the Spreadsheet
objDataAdapter.SelectCommand = objCommand
objDataAdapter.Fill(dt)
objXConn.Close()
Catch ex As Exception
objXConn.Close()
Throw ex
End Try
Return dt
End Function
于 2013-09-10T05:31:27.670 に答える