IvanASP 0 Denunciar post Postado Março 6, 2008 Galera do Forum: Em uma aplicação ASP.NET (com VB.NET), como posso, a partir de uma planilha do excel, inserir dados em uma tabela de um banco SQL que se encontra em um servidor remoto? Em outras palavras, tenho uma planilha local com várias linhas e várias colunas e gostaria de popular uma tabela no banco SQL. Agradeço muito se alguem me der alguma dica de onde posso estudar tal assunto. Grato Ivan Albuquerque Compartilhar este post Link para o post Compartilhar em outros sites
DSerma 19 Denunciar post Postado Março 6, 2008 Movido: Desafios(ASP) http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 7, 2008 A idéia é você ler esses dados com um Driver OleDb Alimentar um DataSet e a partir deste DataSet alimentar seu banco, de uma olhada neste exemplo: 'Declara as Variáveis e preenche o DataSet Dim excconn As New OdbcConnection("Dsn=Arquivos do Excel;dbq=D:\Table\tabela.Xls;defaultdir=D:\Table;driverid=790;maxbuffersize=2048;pagetimeout=5") Dim excda As New OdbcDataAdapter("Select * From Tabela", excconn) Dim excds As New DataSet("Tabela") excda.Fill(excds, "Tabela") 'Declara as Variáveis para a conexão do SQL Server Dim conn As New SqlConnection("Data Source=NOMEDOSERVIDORSQL\SQLEXPRESS;Initial Catalog=MEUBANCODEDADOSSQL;User ID=sa; password=meupassworddousuario;") '3 comandos Sql para inserir, atualizar e contar as linhas da minha tabela Dim ins As New SqlCommand("Insert Into Tabela (CampoChave, Campo1, Campo2) Values (@CampoChave, @Campo1, @Campo2)", conn) Dim upd As New SqlCommand("Update Tabela Set Campo1 = @Campo1, Campo2 = @Campo2 Where CampoChave = @CampoChave", conn) Dim tst As New SqlCommand("Select Count(CampoChave) From Tabela Where CampoChave = @CampoChave", conn) Dim cont As Integer Try 'Abrindo a conexão do SQL conn.Open() For Each dr As DataRow In excds.Tables("Tabela").Rows tst.Parameters.Clear() tst.Parameters.AddWithValue("@CampoChave", dr("CampoChave")) cont = Convert.ToInt32(tst.ExecuteScalar()) 'Se o número de linhas maior que zero, atualiza os campos 'senão insere os dados novos If cont > 0 Then upd.Parameters.Clear() upd.Parameters.AddWithValue("@CampoChave", dr("CampoChave")) upd.Parameters.AddWithValue("@Campo1", dr("Campo1")) upd.Parameters.AddWithValue("@Campo2", dr("Campo2")) upd.ExecuteNonQuery() Else ins.Parameters.Clear() ins.Parameters.AddWithValue("@CampoChave", dr("CampoChave")) ins.Parameters.AddWithValue("@Campo1", dr("Campo1")) ins.Parameters.AddWithValue("@Campo2", dr("Campo2")) ins.ExecuteNonQuery() End If Next Finally 'fecha a conexão conn.Close() End Try Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
IvanASP 0 Denunciar post Postado Março 7, 2008 Quintelab: Mais uma vez, muito grato pela sua resposta. Estou tentando o código que você me enviou, que vai ser bastante útil, mas preciso de mais uma dica, sem querer abusar da sua boa vontade. Desta vez, é ler o conteúdo de 2 células de uma planilha Excel (2007) utilizando VB.NET. O arquivo é C:\Teste.xlsx. Dentro dele, a planilha Plan1, e dentro da Plan1 as células A1 e A2. Como posso transferir os conteúdos destas 2 células para dentro do programa em VB.NET ? Grato Ivan Albuquerque Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 8, 2008 De uma olhada neste artigodo Macoratti ele explica como selecionar uma determinada coluna de uma planilha, do jeito que você quer: http://www.macoratti.net/aspn_xls.htm Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
IvanASP 0 Denunciar post Postado Março 10, 2008 Bruno Quintela - Quintelab: Com a sua dica e o artigo do Macoratti, consegui ler os valores de uma planilha excel e colocá-los no banco de dados. Muito obrigado pela sua ajuda. Abraços Ivan Albuquerque Compartilhar este post Link para o post Compartilhar em outros sites