O código do ASP para importar dados do Excel para o SQL Server é um pouco confuso, então você pode pesquisá-lo de acordo com suas necessidades. Copie o código do código da seguinte forma:
<form action=insert.asp method=post enctype=multipart/form-data name=form1 onSubmit=b1_onclick()>
<largura da tabela=500 borda=1 alinhar=centro cellpadding=0 cellpacing=0>
<tr>
<td colspan=2 bgcolor=#999999 class=t>Selecionar arquivo
</td>
</tr>
<tr>
<td colspan=2 class=t> </td>
</tr>
<tr>
<td width=126 class=t>Selecionar arquivo (excel)
</td>
<td largura=368 classe=t><label>
<nome de entrada=tipo de arquivoxls=tamanho do arquivo=35>
</label></td>
</tr>
<tr>
<td colspan=2 classe=t>
<rótulo>
<tipo de entrada=nome de envio=Valor de envio=Importar dados>
</label>
<a href=1122.asp class=t>Retornar</a>
</td>
</tr>
</tabela>
</form>
<!--#include virtual=/inc/clsdbctrl.asp-->
<!--#include virtual=/inc/function.asp-->
<%
escurecer upfile_5xSoft_Stream
Carregamento de aula_5xSoft
dim Formulário, Arquivo, Versão
Subclasse Privada_Initialize
dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,oArquivo
dim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr
Versão=Programa especial de upload de Ren Xiang
se Request.TotalBytes<1 então saia do Sub
definir Form = CreateObject (Scripting.Dictionary)
definir Arquivo=CreateObject(Scripting.Dictionary)
configurar arquivo_5xSoft_Stream=CreateObject(Adodb.Stream)
upfile_5xSoft_Stream.mode=3
upfile_5xSoft_Stream.type=1
upfile_5xSoft_Stream.open
upfile_5xSoft_Stream.write Solicitação.BinaryRead(Request.TotalBytes)
vbEnter=Chr(13)&Chr(10)
iDivLen=inString(1,vbEnter)+1
strDiv=subString(1,iDivLen)
iFormStart=iDivLen
iFormEnd=inString(iformStart,strDiv)-1
enquanto iFormStart <iFormEnd
iStart=inString(iFormStart,nome=)
iEnd=inString(iStart+6,)
mFormName=subString(iStart+6,iEnd-iStart-6)
iFileNameStart=inString(iEnd+1,nomedoarquivo=)
se iFileNameStart>0 e iFileNameStart<iFormEnd então
iFileNameEnd=inString(iFileNameStart+10,)
mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)
iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
se iEnd>iStart então
mFileSize=iEnd-iStart-4
outro
mTamanhodoArquivo=0
terminar se
defina theFile=new FileInfo
theFile.FileName=getFileName(mFileName)
theFile.FilePath = getFilePath (mNome do arquivo)
theFile.FileSize=mFileSize
theFile.FileStart=iStart+4
theFile.FormName=FormName
arquivo.add mFormName,oArquivo
outro
iStart=inString(iEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
se iEnd>iStart então
mFormValue=subString(iStart+4,iEnd-iStart-4)
outro
mFormValue=
terminar se
formulário.Adicionar mFormName,mFormValue
terminar se
iFormStart=iformEnd+iDivLen
iFormEnd=inString(iformStart,strDiv)-1
vamos
Finalizar sub
SubString de função privada (theStart,theLen)
dimi,c,temp
upfile_5xSoft_Stream.Position=theStart-1
haste =
para i=1 para theLen
se upfile_5xSoft_Stream.EOS então saia para
c=ascB(upfile_5xSoft_Stream.Read(1))
Se c > 127 Então
se upfile_5xSoft_Stream.EOS então saia para
temp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
eu=eu+1
outro
temp = temp&Chr(c)
Terminar se
Próximo
subString=stemp
Função final
Função privada inString(theStart,varStr)
dim i,j,bt,theLen,str
InString=0
Str=toByte(varStr)
theLen=LenB(Str)
para i=theStart para upfile_5xSoft_Stream.Size-theLen
se i>upfile_5xSoft_Stream.size então saia da função
upfile_5xSoft_Stream.Position=i-1
se AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) então
InString=i
para j = 2 para oLen
se upfile_5xSoft_Stream.EOS então
inString=0
Sair para
terminar se
se AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) então
InString=0
Sair para
terminar se
próximo
se InString<>0 então Sair da Função
terminar se
próximo
Função final
Subclasse Privada_Terminate
formulário.Remover tudo
arquivo.Remover tudo
definir formulário = nada
definir arquivo = nada
upfile_5xSoft_Stream.close
configurarfile_5xSoft_Stream=nada
Finalizar sub
Função privada GetFilePath(FullPath)
Se FullPath <> Então
GetFilePath = left(FullPath,InStrRev(FullPath, /))
Outro
ObterCaminhoDoArquivo =
Terminar se
Função final
Função privada GetFileName(FullPath)
Se FullPath <> Então
GetFileName = mid(CaminhoFull,InStrRev(CaminhoFull, /)+1)
Outro
ObterNomeArquivo =
Terminar se
Função final
Função privada toByte(Str)
escurecer i,iCode,c,iLow,iHigh
toByte=
Para i=1 para Len(Str)
c=meio(Str,i,1)
iCode =Asc(c)
Se iCode<0 Então iCode = iCode + 65535
Se iCode>255 então
iBaixo = Esquerda(Hex(Asc(c)),2)
iAlto =Direita(Hex(Asc(c)),2)
toByte = toByte & chrB(&H&iLow) & chrB(&H&iHigh)
Outro
toByte = toByte & chrB(AscB(c))
Terminar se
Próximo
Função final
Fim da aula
Classe ArquivoInfo
dim FormName,FileName,FilePath,FileSize,FileStart
Subclasse Privada_Initialize
Nome do arquivo =
Caminho do arquivo =
Tamanho do arquivo = 0
ArquivoIniciar= 0
NomeDoFormulário =
Finalizar sub
Função pública SaveAs(FullPath)
dim dr,ErrorChar,i
Salvar como=1
se trim(fullpath)= ou FileSize=0 ou FileStart=0 ou FileName= então saia da função
se FileStart=0 ou right(fullpath,1)=/ então saia da função
definir dr=CreateObject(Adodb.Stream)
dr.Modo=3
dr.Tipo = 1
dr.Abrir
upfile_5xSoft_Stream.position=FileStart-1
upfile_5xSoft_Stream.copyto dr,Tamanho do arquivo
dr.SaveToFile FullPath,2
dr.Fechar
definir dr = nada
Salvar como=0
função final
Fim da aula
%>
<%
função sqlstr(dados)
se não for nulo (dados), então
sqlstr='& substituir(dados,','') &'
outro
sqlstr='& dados &'
terminar se
função final
%>
<%
sessão.CodePage=936
Servidor.ScriptTimeOut=600000
definir upload = novo upload_5xsoft
definir arquivo=upload.arquivo(filexls)
%>
<%
se arquivo.fileSize>0 então
nome do arquivo=ano(agora)&mês(agora)&dia(agora)&hora(agora)&minuto(agora)&segundo(agora)
nome do arquivo=nome do arquivo+.
nome do arquivoend = arquivo.nome do arquivo
nomedoarquivoshow=arquivo.nomedoarquivo
nome do arquivoend=split(nomedoarquivoend,.)
se nomedoarquivoend(1)=xls então
nome do arquivo=nome do arquivo&nome do arquivoend(1)
arquivo.saveAs Server.mappath(uploadarquivos/&nome do arquivo)
outro
O formato de dados response.write está errado!
resposta.write <a href=file_upload.asp>retornar
resposta.end()
terminar se
definir arquivo = nada
outro
O arquivo response.write não pode estar vazio!
resposta.write <a href=file_upload.asp>retornar
resposta.end()
Terminar se
definir upload = nada
'O upload do arquivo XLS está concluído. Em seguida, leia os dados do arquivo XLS carregado e grave-os no banco de dados SQL.
strAddr=server.MapPath(arquivos de upload/&nome do arquivo)
definir excelconn=server.createobject(adodb.connection)
excelconn.open Provider = Microsoft.Jet.OLEDB.4.0; Fonte de dados = +strAddr+;Propriedades estendidas='Excel 8.0;HDR=NO;IMEX=1'
definir rs=server.CreateObject(adodb.recordset)
definir rs1 = servidor.CreateObject (adodb.recordset)
sql=selecione * de [Planilha1$]
rs.open sql,excelconn,1,3
se não (rs.bof e rs.eof) então
rs.movnext
faça enquanto não rs.eof
'resposta.Write(rs(1))
'resposta.End()
sql1 = selecione * do membro
rs1.open sql1,conn,1,3
rs1.addnew
Randomizar
nome de usuário =
Do While Len(nome de usuário)<8 'Dígitos aleatórios da senha
num1=CStr(Chr((57-48)*rnd+48)) '0~9
'num2=CStr(Chr((90-65)*rnd+65)) 'A~Z
num3=CStr(Chr((122-97)*rnd+97)) 'a~z
nome de usuário=nome de usuário&num1&num3
laço
rs1(nome de usuário)=nome de usuário
rs1(senha)=bb0391ec1d7bda99'bamboo123456
se rs(0)<> então
rs1(empresa)=rs(0)
terminar se
se rs(1)<> então
rs1(nome real)=rs(1)
terminar se
se rs(2)<> então
rs1(sexo)=sexon(rs(2))
terminar se
se rs(3)<> então
rs1(professor)=rs(3)
terminar se
se rs(4)<> então
rs1(telefone)=rs(4)
terminar se
se rs(5)<> então
rs1(móvel)=rs(5)
terminar se
se rs(6)<> então
rs1(endereço)=rs(6)
terminar se
se rs(7)<> então
rs1(área)=getclassdname(rs(7),área,cn)
terminar se
se rs(8)<> então
rs1(cidade)=getclassdname(rs(8),área,cn)
terminar se
se rs(9)<> então
rs1(fax)=rs(9)
terminar se
se rs(10)<> então
rs1(comtype)=comtypem(rs(10))
terminar se
se rs(11)<> então
rs1(operação)=rs(11)
terminar se
rs1(aprovado)=1
rs1(ativado)=1
rs1(último horário de login)=agora()
rs1.atualização
rs1.fechar
rs.movnext
laço
terminar se
rs.fechar()
definir rs = nada
definir rs1 = nada
excelconn.Fechar()
definir excelconn = nada
conexão.close()
definir conn = nada
função sexon(str)
selecione caso str
caso masculino
sexon=0
caso feminino
sexon = 1
final selecionar
função final
funçãocomtypem(str)
selecione caso str
produtos de bambu de caso
comtypem = 0
maquinaria de bambu para caixas
comtypem = 1
final selecionar
função final
função getclassdname(str,nomedatabela,lang)
Se não for IsNumeric(id), então saia da função
set rs2=conn.execute (selecione o primeiro id de & tablename & onde classname como '%&str&%')
se não for rs2.eof Então
Se lang<> Então
Se lang=cn Então
getclassdname=getclassdname & rs2(0)
ElseIf lang = en então
getclassdname=getclassdname & rs2(0)
Terminar se
Terminar se
outro
getclassdname=0
terminar se
rs2.fechar
Função final
%>
<largura da tabela=300 borda=1 alinhar=centro cellpadding=0 cellpacing=0 bordercolor=#CCCCCC>
<tr>
<th bordercolor=#F1F3F8 bgcolor=#999999 class=t scope=row> </th>
</tr>
<tr>
<th class=t scope=row>Arquivo<% response.write (filenameshow) %>Importado com sucesso! </th>
</tr>
<tr>
<th class=t scope=row><a href=javascript:self.close() class=t>Fechar janela</a></th>
</tr>
<tr>
<th class=t scope=row><a href=1122.asp class=t>Retorno</a></th>
</tr>
</tabela>