Ir para conteúdo

POWERED BY:

Arquivado

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

Clauido José

[Resolvido] Importando dados do HTML para excel

Recommended Posts

Boa noite galera do vbmaina o eu de novo bom é seguinte to com um pequeno projeto aqui em casa pra importar uma pagina java em HTML para excel hoje ele ta numa macro do excel mas nao ta funcionando direito como nao manjo muito de excel teria como fazer essa importação via asp ja fiz importando excel para banco ou vici versa mas nao sei se da para importar dados HTML

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode colocaros dados do HTML em uma variavel e passar ela no excel atraves do ASP

 

O primeiro passo é modificar o tipo de MIME no cabeçalho, de modo que o navegador sabe que este é um arquivo do Excel, e não uma página HTML:

 

<%
   Response.ContentType = "application/vnd.ms-excel"
%>

 

Observação: este tem de estar no topo da página, antes de mais nada.

 

Uma vez que você fez que é simplesmente um caso de leitura através dos campos no banco de dados e imprimi-los a uma tabela em HTML padrão:

 

<% set objconn=server.createobject("adodb.connection")
connpath="DBQ=" & server.mappath("my_access_database.mdb")
objconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & connpath
set objrs=objconn.execute("select * from products")
%>
     <TABLE BORDER=1>
    <TR>
    <%

   '  Loop through each Field, printing out the Field Names


    For i = 0 to objrs.fields.count - 1
    %>
    <TD><% = objrs(i).name %></TD>
    <% next %>
     </TR>
    <%
  
   '  Loop through rows, displaying each field

    while not objrs.eof
    %>
   <TR>
    <% For i = 0 to objrs.fields.count - 1
    %>
    <TD VALIGN=TOP><% = objrs(i) %></TD>
    <% Next %>

    </TR>
    <%
    objrs.MoveNext

    wend

    objrs.Close
objconn.close
    %>

 

Você pode até mesmo incluir função do Excel simples, como SUM - basta colocar o mesmo texto em um campo da tabela como você faria no campo de Excel - como em:

 

<tr><TD>=SUM(B2:B6)</TD></tr>

 

Isso mostra em um campo da tabela o total de linhas B2 a B6 no Excel. Para conseguir isto, você precisa saber o nome e a letra dos campos que serão exibidos.

 

Zeros à esquerda

 

 

Você pode manter zeros à esquerda em uma caixa, colocando um non-breaking carácter de espaço () na frente do número. Como em:

 

 <%= objrs(i) %>

 

Moeda e outros formatos

 

Formatação de moeda pode ser definido em uma célula do Excel anterior aos valores com o símbolo de moeda. Por exemplo, precedem o valor com um sinal de real.

 

<TD> R$% <% = ObjRS (i)> </ td>
Mais formatação moeda está disponível com a função FormatCurrency. FormatCurrency tem vários parâmetros que são opcionais.

 

FormatCurrency (Expression [, NumDigitsAfterDecimal [, IncludeLeadingDigit [, UseParensForNegativeNumbers [, GroupDigits ]]]])

 

A célula formatada com um cifrão anterior, possuem duas casas decimais, preceda os valores em reais menos do que um com um zero, parênteses lugar em torno de valores negativos, e use vírgulas para milhares grupo.

 

<td> <% = FormatCurrency (objRS (i), 2, vbTrue, vbTrue,%) vbTrue> </ td>

 

Outras funções podem oferecer outro tipo de formatação para as células do Excel.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas por exemplo a o conteudo da pagina HTML se encontra assim

 

Cliente: MARINA BOTTERO GRIMALDI

CPF/C.N.P.J.: 87208741891

Endereço: R SAO VICENTE DE PAULA, 501, AP 408 - SANTA CECILIA - SAO PAULO-SP

CEP: 1229010

Tel Res: 01136612131

Tel Outros:

Tel Comercial:

Tel VIA:

Tel Celular: 01193124010

Tel Fax:

Referência (Localização):

Solicitação: 23/03/2010 13:36

Micro-Região: SAO PAU012

Emissão: 06/05/2010 19:03

Agendado para: 07/05/2010 MANHA

OS Número: 1009989599

EQUIPE:

PARCEIRO: C30025_M_SP-GSA

Prepostos:

Portabilidade:

Contrato DTH: 11956553

Produto DTH: VIA COMPLETO

Quantidade de Pontos DTH: 0

Data de Habilitação DTH:

ESSENCIAL FIDELIDADE SINAL KU

Contrato HFC:

Produto HFC:

Quantidade de Pontos HFC:

Data de Habilitação HFC:

Nr. Série:

Produto:

Localização:

Tipo/Modelo:

Instalação:

Política

Equip.:

EQUIPAMENTOS

Data:

Serviço executado:

Equipe:

Parceiro:

Cód. Baixa:

SERVIÇOS

EXECUTADOS

OS:

Tipo de OS:

Produto:

1009989599

ADESAO - INSTALACAO

VIA COMPLETO ESSENCIAL

FIDELIDADE SINAL KU

SERVIÇOS

SOLICITADOS

NTO PARA 07/04/2010 (INTEGRAL) FEITO POR HETLYN EM 05/04/2010 16:42:38] [AGENDAMENTO PARA 16/04/2010 (INTEGRAL) FEITO POR GLEICPC EM 09/04/2010 11:24:03] [ NOVO

OBS.

AGENDAMENTO SOLICITADO POR SIANEJC, POR MOTIVO (REAG.- CLIENTE AUSENTE) EM 27/04/2010 11:12:30. A EXECUCAO DA OS ESTAVA AGENDADA PARA 16/04/2010 NO PERIODO

INTEGRAL. ] [AGENDAMENTO PARA 05/05/2010 (TARDE) FEITO POR CHELLYS EM 03/05/2010 11:23:35] [Agendamento para 07/05/2010 (MANHA) feito por JAINES em 06/05/2010 12:18:23]

MATERIAIS UTILIZADOS / RETIRADOS

CÓDIGO

MATERIAIS DTH

QTDE.

CÓDIGO

MATERIAIS HFC

QTDE.

CÓDIGO

MATERIAIS

QTDE.

70075212

Antena Offset de 60 cm

70084526

Conector F selado (outdoor)

70075213

Antena Offset de 90 cm

70084554

Fita plástica dielétrica

70075215

LNBF Simples

70084567

Fecho para fita plástica dielétrica

70075217

LNBF Duplo

70084553

Gancho span clamp U

70075208

Kit Fixação

70084522

Cabo RG-6 tri-shield preto com mensageiro

70075209

Kit Instalação

70084568

Pitão com flange e bucha S10

70075622

Conector tipo F Hexagonal

70084579

Bucha para passagem coaxial

70084525

Conector Tipo F compressão

70084527

Emenda F

Cabo RG-6 tri-shield branco sem

70084523

mensageiro

70084525

Conector F (indoor) Compressão

Níveis

Nr. Série

Localização

Instalado

Retirado

RX

TX

QS

TS

DEC | | | | | | | | | | |

SC | | | | | | | | | | |

 

EQUIPAMENTOS

DEC | | | | | | | | | | |

SC | | | | | | | | | | |

MOV.DE

DEC | | | | | | | | | | |

SC | | | | | | | | | | |

DEC | | | | | | | | | | |

SC | | | | | | | | | | |

EMTA | | | | | | | | | | | | | |

EMTA | | | | | | | | | | | | | |

Executado pela Equipe:

Hora de Entrada:

Hora de Saída:

Cód. Baixa:

DADOS SOBRE BANDA C: Não possui Banda C ( ) Possui Banda C e foi instalada ( ) Possui Banda C e NÃO foi instalada ( )

OBSERVAÇÕES

IMPORTANTE: LEIA ATENTAMENTE ANTES DE ASSINAR

Ao assinar este documento, declaro estar ciente:

1) Que o SERVIÇO contratado será prestado com base nos termos e condições do CONTRATO DE PRESTAÇÃO DO SERVIÇO DE TV POR ASSINATURA VIA SATÉLITE, BANDA LARGA E TELEFONIA; 2) De ter recebido cópia do contrato o qual

li e concordo com os termos e condições nesse mencionado; 3) Do direito previsto no Artigo 49 do Código de Defesa do Consumidor; 4) Que a desconexão do serviço não me isenta da quitação de débitos pendentes relativos aos serviços prestados

até a data de solicitação nem ao pagamento em virtude de quebra de fidelidade, ficando a Embratel ­TV Sat, autorizada nesses casos a cobrar o valor corrigido do benefício utilizado; 5) Que as visitas técnicas serão cobradas conforme condições

estabelecidas no contrato; 6) Que os equipamentos instalados e cedidos em modelo de comodato estão sob minha responsabilidade, devendo devolve-los no momento de rescisão em condições perfeitas. Caso seja detectado pelos técnicos avarias ou

adulterações, haverá cobrança a título de reposição dos equipamentos.

Avaliação do serviço

Indique um amigo

Técnico ensinou a usar o sistema:

Sim ( ) Não ( )

técnico realizado:

Qualidade dos canais abertos antes da visita:

Bom ( ) Ruim ( )

(Péssimo) 0 «-» 10 (Ótimo)

Nome: ______________________________________

Sistema VIA EMBRATEL funcionando em perfeitas condições, testados com o cliente/preposto:

Sim ( ) Não ( )

Houve danos no imóvel ou equipamentos, e este(s) descrito(s) acima:

Sim ( ) Não ( )

__________________________

Telefone: (______) ____________________________

Documentação Fone OK:

Sim ( ) Não ( )

_______________________

___/___/___

___________________________

______________

___________________________

Assinatura da Equipe Técnica

Data

Nome do Cliente ou Preposto

CPF / CNPJ

Assinatura do Cliente ou Preposto

 

 

Nao sao todos os dados que euquero apenas nome edereco apenas dados do cliente e a descrição da OS entend

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom galera é seguinte estoiu quebrando a cabeça com isso bom ja vi que com asp fica complicado importar esse dados para o banco. Conversei com o cliente ele me disse que o sistema que eles tem gera desse html um pdf ai gostaria de saber se tem como importar isso para exccell pois com esses arquivo excel quero importar para access tem como fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Conversei com o cliente...

 

É por isso que o mercado de programação está uma merd... hoje.... o cara pega um trabalho e não tem nem idéia de como executá-lo...

Ai o cliente fica insatisfeito e sai achando que todo "programador" é igual.... pqp.... isso me revolta...

 

Filhão.... você pode abrir o HTML como se fosse um arquivo txt, ai você usa o InStr para pegar apenas os dados que você quer importar.... e gera o excel... simples assim..

 

É só colocar a cabeça para funcionar um pouco que o negócio vai.... mas ai a preguiça impera... e ferra tudo

 

PS: Na boa, quando for postar alguma outra dúvida, escreva melhor, quase tive que fazer um curso na NASA para entender o que você escreveu

PS2: Quando NAO souber fazer um trabalho, NAO diga que sabe, assim você nao ferra com a vida de nenhum outro colega de profissão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, porfavor, vamos focar na dúvida, sendo o mais cordial possível...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sobre puxar os dados de um banco de dados e exportar para excel, é possivel sim, assim como criar um pdf a partir de informações do banco de dados.

No laboratório de scripts existem exemplos tanto de gerar para excel como para pdf, e para pdf existem 2 possibilidades: o fpdf que é sem componentes e o asppdf que é um componente e a maioria dos serviços de hospedagem oferecem suporte para esse componente.

Olhe a documentação de ambos e utilize o que se sentir mais confortavel.

Pessoalmente, tenho usado o asppdf, é simples de usar e o serviço de hospedagem que utilizo oferece suporte a ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Conversei com o cliente...

 

É por isso que o mercado de programação está uma merd... hoje.... o cara pega um trabalho e não tem nem idéia de como executá-lo...

Ai o cliente fica insatisfeito e sai achando que todo "programador" é igual.... pqp.... isso me revolta...

 

Filhão.... você pode abrir o HTML como se fosse um arquivo txt, ai você usa o InStr para pegar apenas os dados que você quer importar.... e gera o excel... simples assim..

 

É só colocar a cabeça para funcionar um pouco que o negócio vai.... mas ai a preguiça impera... e ferra tudo

 

PS: Na boa, quando for postar alguma outra dúvida, escreva melhor, quase tive que fazer um curso na NASA para entender o que você escreveu

PS2: Quando NAO souber fazer um trabalho, NAO diga que sabe, assim você nao ferra com a vida de nenhum outro colega de profissão.

 

 

Cara você ta aqui pra ajudar ou para criticar obrigado ao resto do pessoal ai que tem ajudado a gente nunca sabe nada sempre uma juda ou outro aqui no forum.

 

Nao gostei deste comentario acho que nao nao é por ai, na programação a gente ta sempre aprendendo e temos que ser humildes em querer ensinar os outros e se nao sabemos como passar nem adianta frequentar o forum.

 

O mercado de programação e grande nao acho que ta uma m***** pelo contrario o campo a vasto, tem mercado pra todo mundo.

 

Abraço att,

 

Em partes resolvi um problema achei um programa que importa pdf para excel bom so que precisava limpar esse arquivo poque nao sao todos os campos que vou usar.

 

Bom meu problema agora que ta aparecendo uma mensagem de erro que nao consegui achar no google nem aqui no forum se alguem poder me ajudar eu agraçadeço. Ai vai a mensagem de erro:

 

Microsoft OLE DB Provider for ODBC Drivers erro '80004005'

 

[Microsoft][Driver ODBC para Excel] Estouro do campo numérico.

 

/importagsa/importagsa.asp, line 63

 

Meu codigo:

<%
dim strTitulo,strTexto,strNew, Conexao, strSql,myVal
'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") 
set rsDados = Server.CreateObject("Adodb.Recordset")
'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("\importagsa")	
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
	'Começa o loop para tranfirir o dados da tabela excell para o ac
	i = 1
	do while not rsDados.eof 
		if i = 1 then
			if trim(rsDados(0)) ="" then sCampo1="0" else sCampo1=rsDados(0)
			if trim(rsDados(1)) ="" then sCampo2="0" else sCampo2=rsDados(1)
		elseif i  =2 then
			if trim(rsDados(0)) ="" then sCampo3="0" else sCampo3=rsDados(0)
			if trim(rsDados(1)) ="" then sCampo4="0" else sCampo4=rsDados(1)
			if trim(rsDados(3)) ="" then sCampo5="0" else sCampo5=rsDados(3)
		elseif i  =3 then
			if trim(rsDados(0)) ="" then sCampo6="0" else sCampo6=rsDados(0)
			if trim(rsDados(1)) ="" then sCampo7="0" else sCampo7=rsDados(1)
		elseif i  =8 then
			if trim(rsDados(1)) ="" then sCampo8="0" else sCampo8=rsDados(1)
		elseif i  =13 then
			if trim(rsDados(0)) ="" then sCampo9="0" else sCampo9=rsDados(0)
		elseif i  =18 then
			if trim(rsDados(0)) ="" then sCampo10="0" else sCampo10=rsDados(0)
			if trim(rsDados(6)) ="" then sCampo11="0" else sCampo11=rsDados(6)
		end if
		Response.Write("1= " & sCampo1 & "<br><br>2= " &  sCampo2 & "<br><br> 3= " &  sCampo3)
		Response.Write("<br><br>4=  " &  sCampo4 & "<br><br>5= " &  sCampo5 & "<br><br>6=  " &  sCampo6)
		Response.Write("<br><br>7=  " &  sCampo7 & "<br><br>8= " &  sCampo8 & "<br><br>9=  " &  sCampo9)
		Response.Write("<br><br>10=  " &  sCampo10 & "<br><br>11= " &  sCampo11 & "<br><br>12= " &  sCampo12)
		Response.Write("<br><br>13=  " &  sCampo13 & "<br><br>14= " &  sCampo14 & "<br><br>15= " &  sCampo15)
'		
		rsDados.moveNext

		i =i + 1
	loop
	Response.End() 
end if
%>
<script>
alert("arquivo importardo com sucesso")
document.location.href="importarxls.asp"
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa resolvi essa cara so que como disse no topico anterior estou com muito serviço aqui e acabei opitando por uma forma mas pratica em fazer isso com um programa que exporta automatico

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.