Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jim Joice

Problemas com leitura em tabela excel

Recommended Posts

Estou tentando ler uma tabela excel, porém acontece o seguinte erro:

 

Microsoft JET Database Engine erro '80004005'

 

Número excessivo de campos definido.

 

importarExcel.asp, line 85

 

Segue abaixo o código da página:

 

Set objConn = Server.CreateObject("ADODB.Connection")
	
	
With objConn
 .Provider = "Microsoft.Jet.OLEDB.4.0"
 .ConnectionString = "Data Source="& Server.MapPath("excel/"&nome_arquivo) &";Extended Properties=Excel 8.0;"
 .Open
End With
	
Set objTable = Server.CreateObject("ADOX.Catalog")
objTable.ActiveConnection = objConn
	
	
if lcase(objTable.tables(0).Type) = "table" Then
		
	set objRs = Server.CreateObject("ADODB.Recordset")
	objRs.CursorLocation = 3
				
	objRs.Open "SELECT * FROM ["&Cstr(Ucase(objTable.tables(0).Name))&"] ",objConn      <---- o erro acontece nessa linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informa no lugar do asterisco os campos que deseja acessar e veja se ainda vai travar nessa linha.

objRs.Open "SELECT * FROM ["&Cstr(Ucase(objTable.tables(0).Name))&"] ",objConn <---- o erro acontece nessa linha

 

Poste o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai cara segue esse exemplo que peguei aqui do forum

 


<!--#include file="strcon.asp"-->
<%
dim strTitulo,strTexto,strNew, Conexao, strSql,myVal
call abreConexao()
'Cria um objeto para verficar o caminho o e nome do arquivo para importação
Set objUpload = Server.CreateObject("Dundas.Upload.2")
'Cria conexão Planilha
Set dbXLS = Server.CreateObject("ADODB.Connection") 
'Começa a função para exportar o arquivo para excell
dim i
i = 0
'Configura o objeto com o tamanho do arquivo
objUpload.MaxFileSize = 614400
objUpload.UseUniqueNames = False
strCaminho = "\DTH"
objUpload.Save Server.MapPath("\DTH")	
strCaminho = objUpload.Files.Item("txFile").Path

'Abre o arquivo excell
sql="Driver=Microsoft Excel Driver (*.xls);DBQ=" & strCaminho
'Response.Write(sql)
'Response.End()
dbXLS.Open sql

'Cria um array para ler os dados da planilha excell
Set rsXLS = dbXLS.OpenSchema(20)

'Posiciona o ponteiro no primeiro registro da tabela excell
rsXLS.MoveFirst
TabPrecos = rsXLS("TABLE_NAME")

SQL = "Select * from [" & tabPrecos & "]"
rsDados.open sql, dbXLS,1,1
if rsDados.recordCount>0 then

Sempre usei assim e nunca de problema pra qualquer arquivo excell que queria abrir

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.