다음처럼 ADO의 Connection를 이용하면 엑셀 파일을 생성 할 수 있다.

' ADO 연결 문자열
strConn = ""
strConn = strConn & "Provider=Microsoft.Jet.OLEDB.4.0;"
strConn = strConn & "Data Source=c:\test.xls;"
strConn = strConn & "Extended Properties=""Excel 8.0;HDR=Yes"";"

' ADO.Connection 객체 생성
Set adoConn = CreateObject("ADODB.Connection")

' ADO 연결
adoConn.ConnectionString = strConn
adoConn.Open

' 새로운 테이블(엑셀에서의 시트) 생성
strSQL = "CREATE TABLE Sheet1 (COL_A_NAME TEXT, COL_B_NAME TEXT, COL_C_NAME TEXT)"
adoConn.Execute strSQL

' 레코드 저장
strSQL = ""
strSQL = strSQL & vbCrLf & "INSERT INTO Sheet1 VALUES ( 1, 2, 3 )    "
adoConn.Execute strSQL

' ADO 연결 끊기
adoConn.Close
Set adoConn = Nothing



사용자 삽입 이미지


엑셀 파일의 한 시트에는 65536개의 레코드까지만 저장 가능한데, 위 방법을 이용하면 65536개를 초과해서 만들 수 있지않을까 싶어서 테스트해봤다.

하지만 ADO를 이용한 방법에서도 최대 65536 까지만 저장되고 초과하는 경우에는 에러가 발생한다.

참고로 엑셀 2007에서는 레코드 개수의 제한이 없어졌다고 한다.





☞ 본문 출처 : http://www.enjoydev.com/blog/103(새 창으로 열기)


2007/03/06 15:23 2007/03/06 15:23

트랙백 주소 :: http://optant.ismine.net/blog/trackback/103

댓글을 달아 주세요