Excel ADO
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim rs2 As ADODB.Recordset
Dim databox(1000, 1000) As String
cn = New ADODB.Connection
rs = New ADODB.Recordset
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=C:\database\excel.xls;" & _
"Extended Properties=Excel 8.0;"
.Open()
End With
'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
'---- LockTypeEnum Values ----
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4
'---- CursorLocationEnum Values ----
Const adUseServer = 2
Const adUseClient = 3
'ADO DB Connection オブジェクトを作成する、英文そのままじゃん
' db = Server.CreateObject("ADODB.Connection")
'接続文字列
' strCon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
' "Data Source=" & Server.MapPath("test056.xls") & ";" & _
' "Extended Properties=Excel 8.0"
' Response.Write("接続文字列は
")
'Response.Write(strCon & "
です
")
'データベース(xls)を開く
'db.open(strCon)
'Response.Write("その次はレコードセット
")
'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん
'rs = Server.CreateObject("ADODB.Recordset")
Dim strSQL
strSQL = "select * from [Sheet1$]"
'Response.Write("作った、使ったSQL文字列は
")
'Response.Write("strSQL = " & strSQL & "
")
'接続文字列、SQLを渡して、レコードセットを開く
'rs.Open(strSQL, cn, 0) '0=adOpenForwardOnly
'Response.Write("Rs.Open strSQL, Con, 0
")
'Response.Write("で、レコードセットを作成しました
")
rs.CursorLocation = adUseServer 'カーソルはサーバーの指定
' Response.Write("Select * from FIELD_RANGE, db, 〜
")
rs.Open("Select * from [sheet1$A1:B10]", cn, adOpenDynamic, ADODB.LockTypeEnum.adLockReadOnly)
'
'rs.Open("select * from [sheet1$]; ", "", "", -1) cn 3,3
'databox = rs.GetRows()
rs.MoveFirst()
MsgBox(rs.Fields(0).Value)
cn.Close()
End Sub
End Class