Este artigo resume os métodos de uso do ASP para importar dados do Excel para o banco de dados.
ASP implementa a importação de dados no Excel para o banco de dados
- <%Response.codePage = 65001%>
- <%Response.CharSet = UTF-8%>
- <%
- wenjian = request.form (selecione)
- 'Obtenha a extensão do arquivo
- ext = fileExec (Wenjian)
- 'Juiz Extensão de Arquivos
- ifext <> xlsthen
- Response.Write (<Script> alert ('O tipo de arquivo está incorreto, verifique!'); window.location.href = 'index.html'; </script>)
- Response.end ()
- endif
- Dimobjconn, Objrs
- DIMSTRCONN, STRSQL
- setobjconn = server.createObject (adodb.connection)
- setobjrs = server.createObject (adodb.recordset)
- Excelfile = server.mappath (Wenjian)
- 'Para Excel2007
- strConn = provedor = microsoft.ace.oledb.12.0; DataSource = & Excelfile &; & ExtendedProperties = Excel8.0;
- objconn.openstrconn
- strSQL = selecione*de [Sheet1 $]
- objrs.openstrsql, objconn, 1,1
- objrs.movefirst
- %> <!-#incluirfile = Conn.asp-> <%
- 'Loop todos os registros no Excel
- whilenotobjrs.eof
- setrs = server.createObject (adodb.recordset)
- 'Declaração de consulta
- sql_s = selecione*FromCeshiwhereelname = '& objrs (0) &' andold = '& objrs (1) &' andSex = '& objrs (2) &' andguojia = '& objrs (3) &' andqq = '& objrs (4) &' '
- rs.opensql_s, Conn, 1,1
- 'Não insira os dados duplicados
- ifrs.eofthen
- 'Inserir declaração
- '**** O primeiro item no Excel não será inserido ****
- sql = insertIntoceshi (lname, velho, sexo, guojia, qq) valores ('& objrs (0) &', '& objrs (1) &', '& objrs (2) &', '& objrs (3) &' & objrs (3) & ',' & objrs (4) & ')
- 'Executar inserção
- Conn.Execute (SQL)
- endif
- objrs.movenext
- rs.close
- setrs = nada
- Wend
- 'É hora de fechar novamente
- Conn.Close
- setConn = nada
- objrs.close
- objconn.close
- setobjrs = nada
- SetoBJConn = nada
- Response.Write (<Script> alert ('importação com sucesso'); window.location.href = 'index.html'; </script>)
- Response.end ()
- FunctionFileExec (nome do arquivo)
- FileExec = MID (nome do arquivo, Instr (nome do arquivo,.)+1, Len (nome do arquivo) -Instr (nome do arquivo,.))
- Função final
- %>
Compartilhe outra versão simplificada do código
- wenjian = request.form (piso)
- FileExt = MID (Wenjian, Instrrev (Wenjian ,.)+1)
- iflcase (fileExt) <> xlsthen
- Response.Write <Cript> alert ('O formato do arquivo está incorreto, envie o arquivo do Excel'); window.location.href = 'updatefloor.asp'; </sCript>
- resposta.END
- endif
- setConne = server.createObject (adodb.connection)
- ConnStre = provedor = Microsoft.Jet.oledb.4.0; DataSource = & Server.Mappath (& Wenjian &) &; ExtendedProperties = 'Excel8.0; hdr = sim; imex = 1';
- conne.openconnstre
- Sqle = selecione*de [Sheet1 $]
- SetRSe = server.createObject (adodb.recordset)
- rse.opensqle, conne, 1,1
- 'verificar
- pendurar = 2
- Dowhilenottrse.eof
- 'O nome não pode estar vazio
- iftrim (rse (0)) <> então
- outro
- bagunça = o nome do & Hang & Line está vazio, por favor, verifique!
- Response.Write <Cript> alert ('& Mess &'). Window.Location.href = 'updateFloor.asp' </sCript>
- Response.end ()
- endif
- rse.movenext
- hang = hang+1
- laço
- 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 (endereço) = C2 (RSE (2))
- rst (tel) = c2 (rse (3)) && c2 (rse (7))
- RST (Fax) = C2 (RSE (4))
- RST (Linkman) = C2 (RSE (5))
- RST (página inicial) = C2 (RSE (8))
- RST (email) = C2 (RSE (6))
- rsst.Update ()
- rsst.close
- setRst = nada
- rse.movenext
- laço
- rse.close
- settrse = nada
- Response.write <Cript> alert ('importado com sucesso!'); location.href = 'updatefloor.asp'; </script>
De fato, basta colocar em um banco de dados de acesso, abra o arquivo do Excel, leia e escreva para acessar.
Veja o código:
- Dimconn
- DimConn2
- setConn = createObject (adodb.connection)
- Conn.OpenProvider = Microsoft.Jet.OLEDB.4.0; JetoledB: DATABASEPASSWORD =; 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 = selecione*de [Sheet1 $]
- setrs = Conn2.Execute (SQL)
- whilenotrs.eof
- sql = insertIntoxxx ([a], [b], [c], [d]) valores ('& fixsql (rs (0)) &', '& fixsql (rs (1)) &', '& fixsql (rs (2 )) & ',' & FixSQL (Rs (3)) & ')
- Conn.Execute (SQL)
- rs.movenext
- Wend
- Conn.Close
- setConn = nada
- Conn2.Close
- setConn2 = nada
- functionfixsql (str)
- Dimnewstr
- Newsstr = str
- ifisnull (newstr) Então
- Newsstr =
- outro
- Newsstr = Substitua (Newstr, ',' ')
- endif
- FIXSQL = Newstr
- Função final