Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia, galera estou com erro na minha conexão com xls, tenho esse script
Dim cnnExel
pasta = "\tempimport\"
Sub ConectaExcel(pasta)
cnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& pasta & ";Extended Properties=""Excel 8.0;HDR=NO;"""
Set cnnExel = server.CreateObject("ADODB.CONNECTION")
cnnExel.open cnnStr
End Sub
Está conexão funciona perfeitamente, só q dependendo do formato do arquivo ele dá um erro na conexão ...
erro: Microsoft JET Database Engine erro '80004005'
A tabela externa não está no formato esperado.
/admin/bases/xls.asp, line 8
Como eu faço um tratamento de erro, para q quando o erro existir exibir uma mensagem ... Algo do tipo
if err<>0 then
response.write "Tipo de Aquivo Inválido"
end if
Ted K' coloquei mas não funcionou não surtiu efeito algum oq acontece é se a planilha que tento exportar estiver fora do formato a conexão nem abre ...
posta ai como você está fazendo!!
tenta assim:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("teste.xls") & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"
HDR = Yes; "indica que a primeira linha contém columnnames, não dados
Ted'K fiz assim ::
posta ai como você está fazendo!!
Dim cnnExel
pasta = "\import\"
Sub ConectaExcel(pasta)
cnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& pasta & ";Extended Properties=""Excel 8.0;HDR=NO;"""
Set cnnExel = server.CreateObject("ADODB.CONNECTION")
cnnExel.open cnnStr
on error resume next
if err.number <>0 then
response.write("Tipo de Aquivo Inválido")
Response.End()
end if
End Sub
>
tenta assim:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("teste.xls") & ";Extended Properties=""Excel 8.0;HDR=Yes;"";"
HDR = Yes; "indica que a primeira linha contém columnnames, não dados
xanburzum fiz assim::
Dim cnnExel
pasta = "\import\"
Sub ConectaExcel(pasta)
cnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.MapPath("teste.xls") & ";Extended Properties=""Excel 8.0;HDR=YES;"""
Set cnnExel = server.CreateObject("ADODB.CONNECTION")
cnnExel.open cnnStr
End Sub
As duas possiveis soluções não funcionaram, e o continou o mesmo ...
Olá, acredito que seguindo os passos abaixo você consiga resolver esse problema,
1 - Abra a planilha.
2 - Menu Arquivo -> Salva como
3 - Verifique em "Salvar como tipo:"
4 - No meu caso que tinha gerado uma exportação em tabela, aí ele ficou como "página da web" e emitia esse mesmo erro. Daí eu passei a salvar como "Pasta de trabalho do microsoft excel" e a importação foi normalmente.
Espero ter ajudado. Tchauuuuuu.
coloco a "on error resume next" na primeira linha do script e depois faça o tratamento do mesmo quando nescessário :P
qual o erro esta sendo gerado ??
verifique as permissões , se estão setadas corretamente...
Esse erro me ocorreu porque a string de conexão não era compatível com a versão do arquivo do excel (xls/xlsx)
esta do exemplo é para arquivos do excel 97-2003
coloca o:
on error resume next
e depois faz isso:
if err.number <>0 then
response.write("Tipo de Aquivo Inválido")
Response.End()
end if