Ir para conteúdo

POWERED BY:

Arquivado

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

Gvip

[Resolvido] Importar Planilha Excel para BD em ASP

Recommended Posts

Galera,To precisando montar um sistema q importe uma planilha do excel para um banco de dados, mas não sei como faço para ler a planilha.Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

comecei a fazer isso...olhe o exemplo

 

<%   Dim sSourceXLS	Dim sDestXLS	sDestXLS = Server.MapPath(".") & "\teste.xls"  ' caminho e nome do arquivo xls	Dim oConn	Set oConn = Server.CreateObject("ADODB.Connection") 'conexao com o xls	oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDestXLS & ";Extended Properties=""Excel 8.0;HDR=NO;"""	Dim oRS 	Set oRS = Server.CreateObject("ADODB.Recordset") 'objeto recordset que armazena os dados do xls 'F1 = coluna 1 do xls, F2 = coluna 2, e assim sucessivamente...se for * seleciona todas as colunas	oRS.Open "Select F1 from tabelaXls", oConn, 1, 3 'executa o recordset do while not oRS.eof 'listando as celulas do arquivo  Response.Write(oRS.Fields(0).Value)'fields tem o numero da coluna do xls,  Response.Write("<br>")  oRS.movenext loop oRS.close set oRS=nothing	oConn.Close	Set oConn = Nothing 'Abra o xls vá em Menu-Inserir=>>Nome=>>Definir  'escolha o nome da sua seleção de celulas, esse nome é o mesmo que vai no sql, como se fosse o nome da tabela, no exemplo está como tabelaXLS%>

no seu casó é só criar uma conexao com o db e inserir os dados quando passar no while

 

 

 

agora só me falta gerar essa "tabela" no xls automaticamente, já encontrei o componente pra isso mas ele é pago, se alguem ai tiver uma solução posta ai pois esse tipo de conteúdo quase não tem na internet para pesquisas e os que tem são em inglês

Compartilhar este post


Link para o post
Compartilhar em outros sites

comecei a fazer isso...olhe o exemplo

<%   Dim sSourceXLS	Dim sDestXLS	sDestXLS = Server.MapPath(".") & "\teste.xls"  ' caminho e nome do arquivo xls	Dim oConn	Set oConn = Server.CreateObject("ADODB.Connection") 'conexao com o xls	oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDestXLS & ";Extended Properties=""Excel 8.0;HDR=NO;"""	Dim oRS 	Set oRS = Server.CreateObject("ADODB.Recordset") 'objeto recordset que armazena os dados do xls 'F1 = coluna 1 do xls, F2 = coluna 2, e assim sucessivamente...se for * seleciona todas as colunas	oRS.Open "Select F1 from tabelaXls", oConn, 1, 3 'executa o recordset do while not oRS.eof 'listando as celulas do arquivo  Response.Write(oRS.Fields(0).Value)'fields tem o numero da coluna do xls,  Response.Write("<br>")  oRS.movenext loop oRS.close set oRS=nothing	oConn.Close	Set oConn = Nothing 'Abra o xls vá em Menu-Inserir=>>Nome=>>Definir  'escolha o nome da sua seleção de celulas, esse nome é o mesmo que vai no sql, como se fosse o nome da tabela, no exemplo está como tabelaXLS%>
no seu casó é só criar uma conexao com o db e inserir os dados quando passar no while agora só me falta gerar essa "tabela" no xls automaticamente, já encontrei o componente pra isso mas ele é pago, se alguem ai tiver uma solução posta ai pois esse tipo de conteúdo quase não tem na internet para pesquisas e os que tem são em inglês
você tá precisando salvar esse relatório q você gera em xls, é isso???

Compartilhar este post


Link para o post
Compartilhar em outros sites

não! estou apenas lendo os dados do xls, mas para isso é necessario criar a "tabela" dentro da planilha. Quero criar essa tabela sem a ação do usuário e até agora só vi nesse site algo que parece ser o que quero

 

http://support.softartisans.com/OfficeWrit...ence/view3d.asp

 

imagino que o que falta é gerar os Worksheets automaticamente, assim que o codigo é executado ele modifica o arquivo xls criando os sheets e nominando eles pra poder fazer a leitura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu peguei esse teu código, aqui abriu certinho o arquivo XLS.. mas eu tenho que definir o nome da área dentro do arquivo XLS para ser usado como nome da tabela, e quando eu coloco * para trazer todas as colunas só vem a primeira.. você sabe o que pode ser?Outra, você conseguiu fazer com que o nome da tabela venha automaticamente sem ter essa inclusão do nome dentro da planilha de forma manual?grataLetícia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal, usei este código porém ele só mostra a primeira coluna.... alguém conseguiu resolver isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Jonathan,

 

O problema foi resolvido. Como o site está hospedado na Locaweb implementei o objeto SAFileUP. Agora vou trabalhar no seu script para salvar no banco de dados SQL Server.

 

Um abraço.

 

Jonathan,

 

Muito bom o seu script! Eu preciso abrir o arquivo XLS que está no computador local, pode me auxiliar? Já fiz várias tentativas e nã tive sucesso.

 

Obrigado.

 

 

 

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.