Ir para conteúdo

POWERED BY:

Arquivado

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

Hugo Eyer

Uploads

Recommended Posts

Prezados amigos,

 

Estou com o seguinte problema... estou fazendo um UPLOAD de uma planilha de excel para uma tabela no BD.

 

Acontece que a programacao que estou usando ele pega apenas de linha em linha... Segue abaixo a programacao utilizada

 

---
  '######################### O CÓDIGO ##############################
	 'aqui eu crio uma instência do Excel
	 Set objApp = Server.CreateObject("Excel.Application")
	 'abro a planilha que foi enviada
	 Set objBook = objApp.Workbooks.Open(PastaDestino & "\" & ArquivoNome)
	 'seleciono a pasta
	 Set objSheet = objBook.Sheets.Item(1)

	 'pego os valores da tabela
	 valor = objSheet.Range("A2").Value
	 valor2 = objSheet.Range("B2").Value
	 valor3 = objSheet.Range("C2").Value
	 valor4 = objSheet.Range("D2").Value
	 valor5 = objSheet.Range("E2").Value
	 valor6 = objSheet.Range("F2").Value
	 valor7 = objSheet.Range("G2").Value
	 valor8 = objSheet.Range("H2").Value
	 valor9 = objSheet.Range("I2").Value
	 valor10 = objSheet.Range("A3").Value
	 valor11 = objSheet.Range("B3").Value
	 valor12 = objSheet.Range("C3").Value
	 valor13 = objSheet.Range("D3").Value
	 valor14 = objSheet.Range("E3").Value
	 valor15 = objSheet.Range("F3").Value
	 valor16 = objSheet.Range("G3").Value
	 valor17 = objSheet.Range("H3").Value
	 valor18 = objSheet.Range("I3").Value
	 
	'aqui entraria o seu codigo de inserção
	 strINSERT = "INSERT INTO SNC_PEDIDOS_COMPRA (ProjSAP1, ProjSAP2, SNC1, SNC2, PEDIDO, ITEM, DescricaoPED, ValorPC) VALUES ('" & valor & "', '"& valor2 &"', '"& valor3 &"', '"& valor4 &"', '"& valor5 &"', '"& valor6 &"' , '"& valor7 &"' , "& valor8 &")"
	 'response.Write(strINSERT)
	 'response.End()
	 RS.EXECUTE(strINSERT)
	 
	 'aqui entraria o seu codigo de inserção
	 strINSERT2 = "INSERT INTO SNC_PEDIDOS_COMPRA (ProjSAP1, ProjSAP2, SNC1, SNC2, PEDIDO, ITEM, DescricaoPED, ValorPC) VALUES ('" & valor10 & "', '"& valor11 &"', '"& valor12 &"', '"& valor13 &"', '"& valor14 &"', '"& valor15 &"' , '"& valor16 &"' , "& valor17 &")"
	 'response.Write(strINSERT2)
	 'response.End()
	 RS.EXECUTE(strINSERT2)
	 '#########################		  ##############################
---

 

Como podem ver... eu tenho que declarar cada celula da planilha e inserir no insert into... o meu problema é que possuo umas planilhas com mais de 60 mil linhas... =/

 

Existe alguma forma de o upload fazer a insercao das linhas que as chaves primarias estejam preenchidas ?

 

Isso seria o ideal...

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo hgb7,

 

Obrigado pela ajuda... mas nao é exatamente isso que preciso...

 

Preciso fazer com queo upload pegue a planilha toda ao inves de pegar linha por linha...

 

Alguem saberia me dizer se existe alguma funcao para isso ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Palpite:

*ACHO* que dá pra fazer com array, setando o valor da variavel para um valor alto

(já que são 60.000 registros) e jogar isso num loop, tem um post no form de hoje mesmo que fala sobre isso,

pode pegar a ideia dali e ajustar para o seu problema.

 

Abraços,

Vinicius Ianni

Compartilhar este post


Link para o post
Compartilhar em outros sites

Através de código você não conseguirá importar diretamente a planilha para o banco de dados.

 

Terá que ler linha por linha. Sugiro paginar a leitura da planilha para importar os dados, assim não corre o risco de cair por timeout.

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.