이 기사는 ASP를 사용하여 Excel에서 데이터를 데이터베이스로 가져 오는 방법을 요약합니다.
ASP는 데이터베이스로 데이터 가져 오기를 구현합니다
- <%response.codepage = 65001%>
- <%response.charset = utf-8%>
- <%
- wenjian = request.form (select)
- '파일 확장자를 얻으십시오
- ext = fileExec (wenjian)
- '판사 파일 확장
- ifext <> xlsthen
- response.write (<cript> alert ( '파일 유형이 잘못되었고 확인하십시오!'); window.location.href = 'index.html'; </script>)
- 응답 ()
- endif
- Dimobjconn, objrs
- Dimstrconn, strsql
- setobjconn = server.createobject (adodb.connection)
- setobjrs = server.createobject (adodb.recordset)
- excelfile = server.mappath (wenjian)
- 'Excel2007의 경우
- strconn = provider = microsoft.ace.oledb.12.0; dataSource = & excfilile &; & extendedProperties = Excel8.0;
- objconn.openstronn
- strsql = select*from [sheet1 $]
- objrs.openstrsql, objconn, 1,1
- objrs.movefirst
- %> <!-#includefile = conn.asp-> <%
- 'Excel의 모든 레코드를 루프하십시오
- whilenotobjrs.eof
- setrs = server.createobject (adodb.recordset)
- '쿼리 문
- sql_s = select*select*fromceshiwhereelname = '& objrs (0) &'andold = '& objrs (1) &'andsex = '& objrs (2) &'andguojia = '& objrs (3) &'andqq = '& objrs (4) &' '
- rs.opensql_s, conn, 1,1
- '중복 데이터를 입력하지 마십시오
- ifrs.eofthen
- '진술 삽입
- '**** Excel의 첫 번째 항목은 입력되지 않습니다 ****
- sql = insertintoceshi (lname, Old, Sex, Guojia, qq) 값 ( '& objrs (0) &', '& objrs (1) &', '& objrs (2) &', '& objrs (3) &', '& objrs (3) & ','& objrs (4) & ')
- '삽입을 실행하십시오
- Conn.Execute (SQL)
- endif
- objrs.movenext
- Rs.Close
- setrs = 아무것도
- 향하게 하다
- '다시 닫을 시간입니다
- conn.close
- setconn = 아무것도 없습니다
- objrs.close
- objconn.close
- setobjrs = 아무것도 없습니다
- setobjconn = 아무것도
- response.write (<cript> alert ( '성공적으로'); window.location.href = 'index.html'; </script>)
- 응답 ()
- functionfileExec (filename)
- fileExec = mid (filename, instr (filename,.)+1, len (filename) -inst (filename,.))
- 최종 기능 장애
- %>
다른 단순화 된 버전의 코드를 공유하십시오
- wenjian = request.form (바닥)
- FileExt = MID (Wenjian, Instrev (Wenjian,.)+1)
- iflcase (fileext) <> xlsthen
- response.write <Script> Alert ( '파일 형식이 잘못되었고 Excel 파일을 업로드하십시오.
- 응답. 엔드
- endif
- setconne = server.createobject (adodb.connection)
- connstre = provider = microsoft.jet.oledb.4.0; dataSource = & server.mappath (& wenjian &) &; extendedProperties = 'excel8.0; hdr = 예; imex = 1';
- Conne.openconnstre
- sqle = select*from [sheet1 $]
- setrse = server.createobject (adodb.recordset)
- RSE. Opensqle, Conne, 1,1
- '확인하다
- 행 = 2
- dowhilenottrse.eof
- '이름은 비어있을 수 없습니다
- iftrim (RSE (0)) <>
- 또 다른
- mess = & hang & line의 이름이 비어 있습니다. 확인하십시오!
- 응답
- 응답 ()
- endif
- rse.movenext
- 행 = 행하+1
- 고리
- Rse. MoveFirst
- dowhilenottrse.eof
- setrst = server.createobject (adodb.recordset)
- sqlt = select*fromsellman
- rst.opensqlt, Conn, 1,3
- rsst.addnew ()
- RST (CompanyName) = C2 (RSE (0))
- RST (CompanyInfo) = C2 (RSE (1))
- RST (주소) = C2 (RSE (2))
- RST (Tel) = C2 (RSE (3)) && C2 (RSE (7))
- RST (팩스) = C2 (RSE (4))
- RST (Linkman) = C2 (RSE (5))
- RST (홈페이지) = C2 (RSE (8))
- RST (이메일) = C2 (RSE (6))
- rsst.update ()
- rsst.close
- setrst = 아무것도
- rse.movenext
- 고리
- rse.close
- settrse = 아무것도
- response.write <cript> alert ( '성공적으로 가져 왔습니다!'); location.href = 'updatefloor.asp'; </script>
실제로, 단순히 액세스 데이터베이스처럼 말하고, Excel 파일을 열고, 읽고, 액세스를 작성하려면 쓰기 프로세스를 변경하십시오.
코드보기 :
- 디콘
- Dimconn2
- setconn = createobject (adodb.connection)
- conn.openprovider = microsoft.jet.oledb.4.0; jetoledb : databaseSpassword =; dataSource = c :/book1.mdb
- setconn2 = createobject (adodb.connection)
- conn2.openprovider = microsoft.jet.oledb.4.0; jetoledb : databasePassword =; extendedProperties = Excel5.0; dataSource = c :/book1.xls
- sql = select*from [sheet1 $]
- setrs = conn2.Execute (SQL)
- whilenotrs.eof
- sql = insertintoxxx ([a], [b], [c], [d]) 값 ( '& fixsql (rs (0)) &', '& fixsql (rs (1)) &', '& fixsql (rs (2 )) & ','& fixsql (rs (3)) & ')
- Conn.Execute (SQL)
- rs.movenext
- 향하게 하다
- conn.close
- setconn = 아무것도 없습니다
- conn2.close
- setconn2 = 아무것도
- functionfixsql (str)
- Dimnewstr
- Newsstr = str
- Ifisnull (Newst)
- Newsstr =
- 또 다른
- Newsstr = Replace (Newstr, ',' ')
- endif
- fixsql = newstr
- 최종 기능 장애