엑셀 파일가 준비가 잘 되었으면, 이제 Excel를 Connection 시켜 보도록 하겠습니다.
12.2.1 OLE-DB를 통한 Connection Set objCnn = Server.CreateObject("ADODB.Connection") strCnn = "Driver={Microsoft Excel Driver (*.xls)}; DBQ=c:\inetpub\wwwroot\Excel\test.xls" objCnn.Open strCnn strSQL = "SELECT * from test" set objRs=ObjCnn.Execute(strSql) 위의 예제와 같이 사용하면 됩니다. strCnn 에서 DBQ는 xls 파일의 절대경로를 적어주시면 되구요. SELECT * FROM TEST 에서 'test'는 엑셀 파일에서 정의한 이름을 사용하시면 됩니다. 특별한것은 없지요?? 12.2.2 레코드값 출력하기.
위의 예제를 보도록 하겠습니다. 위의 예제를 보면,,,, 레코드셋 객체를 이용해서 Excel의 값을 가지고 옵니다. 여기에서 getRows() 함수를 사용하면, 레코드의 값을 가지고 올수 있는데요. 여기에서 Array1 에 들어가는 값은 2차원 배열의 형태로 들어가게 됩니다. 그럼, 여기에서 배열의 크기를 알아봐야겠지요?? Array1 = objRs.getRows() Response.write "칼럼수:"&Ubound(Array1,1)&"<br>" Response.write "행수:"&Ubound(Array1,2) 여기에서 Ubound 함수는 배열의 가장큰 인자값을 구해주는 함수입니다. 결과는 ------- 컬럼수 : 3 행수 : 18 이라는 값이 나오는군요. 즉, 칼럼수는 4 가 되고, 행수는 19가 된다는 거지여? 이걸 표로 그려 보도록 하겠습니다.
이와 같이 값이 들어가겠지요??? 참, 중요한거 한가지... 블럭을 지정한 Excel 파일의 첫번째행(위에서는 A1..D1)을 읽어오지 않습니다 블럭을 두번째 행부터 지정해서 사용하세요. 이해가 가시나여? 그럼, 전체 엑셀값을 불러올려면 어케 해야 할까여???
직접 돌려보세요.... 테이블이 쭈욱 출력되는것을 볼수 있습니다. 도움이 되셨나여???
|
|||||||||||||||||||||||||||||||