|
HDR=NO を 使った ソースコードを紹介する表示色の説明:ASP VBScriptは <% 〜 %> キーワードはHDR=NO です。
<%@LANGUAGE=VBScript%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<title>ADOでExcel(*.xls)に接続 Extended Properties=Excel 8.0;HDR=NO で ヘッダー行を無しにする</title>
</head>
<body>
<h1>ADOでExcel(*.xls)に接続 Extended Properties=Excel 8.0;HDR=NO で ヘッダー行を無しにする</h1>
test103-1.asp<br>
ASPからADOを使用してExcel(*.xls)に接続する時にHDR=NOを指定する<br>
指定後、[Sheet1$]でシートにアクセスして、レコードセットを作成後、<br>
<strong>rs.GetRows</strong>でレコードセットから配列を作成する<br>
読み込むシートのイメージは、<br>
<img src="http://www.ken3.org/backno/gif/asp084-01.gif"><br>
です。
[<a Href="test084.xls" TARGET="_blank">test084.xls</a>]←が元ファイルです<br>
<br>
<hr>
<%
'ADO DB Recordset オブジェクトを作成する、英文そのままじゃん
Set rs=Server.CreateObject("ADODB.Recordset")
'接続文字
Con = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Server.MapPath("test084.xls") & ";" & _
"Extended Properties='Excel 8.0;HDR=NO'"
Response.Write "作った、使った接続文字列は<br>"
Response.Write "<CODE>Con = <b>" & Con & "</b></CODE><hr>"
'SQL文 Sheet1$として、シートのみ指定してみます
strSQL = "select * from [Sheet1$]"
Response.Write "作った、使ったSQL文字列は<br>"
Response.Write "<CODE>strSQL = <b>" & strSQL & "</b></CODE><hr>"
'接続文字列、SQLを渡して、レコードセットを開く
Rs.Open strSQL, Con, 0 '0=adOpenForwardOnly
Response.Write "<CODE>Rs.Open strSQL, Con, 0</CODE>"
Response.Write "で、レコードセットを作成しました<hr>"
'rs.GetRowsで読み込む
dataBOX = Rs.GetRows() 'レコードセットを配列にする
Response.Write "<CODE>dataBOX = <b>rs.GetRows</b></CODE>"
Response.Write "で、レコードセットを配列イメージで読み込む<hr>"
Response.Write "配列のイメージを表示する<br>"
Response.Write "dataBOX(0,0)=[" & dataBOX(0,0) & "]※0,0先頭<br>"
Response.Write "dataBOX(1,2)=[" & dataBOX(1,2) & "]<br>"
Response.Write "dataBOX(0,3)=[" & dataBOX(0,3) & "]<br>"
Response.Write "dataBOX(0,5)=[" & dataBOX(0,5) & "].."
Response.Write "dataBOX(1,5)=[" & dataBOX(1,5) & "]<br>"
Response.Write "dataBOX(0,6)=[" & dataBOX(0,6) & "].."
Response.Write "dataBOX(1,6)=[" & dataBOX(1,6) & "]<br>"
Response.Write "dataBOX(0,7)=[" & dataBOX(0,7) & "].."
Response.Write "dataBOX(1,7)=[" & dataBOX(1,7) & "]<br>"
Response.Write "dataBOX(0,9)=[" & dataBOX(0,9) & "].."
Response.Write "dataBOX(3,9)=[" & dataBOX(3,9) & "]<br>"
Rs.Close
%>
こんな感じで、<b>.GetRows</b>で配列に取り込み使用可能<br>
<font size=+2 color=red>
※配列は、変数(列,行)です、ExcelのCells(行,列)と間違えないでね<br>
</font><font size=+2>
あと、先頭行はHDR=NOでデータとして使われているので注意が必要<br>
And<br>
配列が0番目から始まるので、やはりExcelとの違い(Cells(1,1)と違う)を注意・・・<br>
あとは、まだあるの?えっと(オイオイ)<br>
あっ、当たり前の話だけど、全件メモリ上の配列に読み込むので<br>
件数など考えて使ってね<br>
</font>
<hr>
</body>
</html>
|
|