LER PLANILHA EM EXCEL
Pessoal, boa tarde!
Estou com um problema e não sei como resolver.
Um cliente recebe os romaneios em planilha de excel, e agora ele quer jogar para dentro do sistema.
Eu estava pensando em pegar a planilha do excel e jogar em um datagridview. Estando tudo certo o que ele precisa, dava um ok e jogaria para dentro da tabela mysql
Achei esse fonte na internet. ( aliás, so achei desse tipo )
Try
Dim myconnection As System.Data.OleDb.OleDbConnection
Dim dataset As System.Data.DataSet
Dim mycommand As System.Data.OleDb.OleDbDataAdapter
Dim path As String = txt_arquivo.Text
myconnection = New System.Data.OleDb.OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source[Ô] & txt_arquivo.Text & [Ô];Extended Properties=Excel 12.0;[Ô])
mycommand = New System.Data.OleDb.OleDbDataAdapter([Ô]select * from [PLAN1$][Ô], myconnection)
dataset = New System.Data.DataSet
mycommand.Fill(dataset)
dbg_itens.DataSource = dataset.Tables(0)
myconnection.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
Acontece o seguinte, quando vou executar aparece a seguinte mensagem: provedor [ô]microsoft.jet.oledb.4.0[ô] nao esta registrado na maquina local.
Todo mundo fala para mudar o metodo de compilação que pode ser pelo motivo de ser meu micro 64bits e ele rodar apenas no 32bits
Alguem tem alguma sugestão de como eu posso fazer uma rotina desta?
Deste ja agradeço
Estou com um problema e não sei como resolver.
Um cliente recebe os romaneios em planilha de excel, e agora ele quer jogar para dentro do sistema.
Eu estava pensando em pegar a planilha do excel e jogar em um datagridview. Estando tudo certo o que ele precisa, dava um ok e jogaria para dentro da tabela mysql
Achei esse fonte na internet. ( aliás, so achei desse tipo )
Try
Dim myconnection As System.Data.OleDb.OleDbConnection
Dim dataset As System.Data.DataSet
Dim mycommand As System.Data.OleDb.OleDbDataAdapter
Dim path As String = txt_arquivo.Text
myconnection = New System.Data.OleDb.OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source[Ô] & txt_arquivo.Text & [Ô];Extended Properties=Excel 12.0;[Ô])
mycommand = New System.Data.OleDb.OleDbDataAdapter([Ô]select * from [PLAN1$][Ô], myconnection)
dataset = New System.Data.DataSet
mycommand.Fill(dataset)
dbg_itens.DataSource = dataset.Tables(0)
myconnection.Close()
Catch ex As Exception
MsgBox(ex.Message.ToString)
End Try
Acontece o seguinte, quando vou executar aparece a seguinte mensagem: provedor [ô]microsoft.jet.oledb.4.0[ô] nao esta registrado na maquina local.
Todo mundo fala para mudar o metodo de compilação que pode ser pelo motivo de ser meu micro 64bits e ele rodar apenas no 32bits
Alguem tem alguma sugestão de como eu posso fazer uma rotina desta?
Deste ja agradeço
http://www.macoratti.net/11/11/oledb_err1.htm
http://www.macoratti.net/10/12/vbn_acc2.htm (no final da página)
http://www.macoratti.net/10/12/vbn_acc2.htm (no final da página)
Galera, segue o que foi feito. Joguei tudo no grid. Funcionou perfeitamente.
ABraços a todos que me ajudaram
dt.Columns.Add([Ô]1[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]2[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]3[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]4[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]5[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]6[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]7[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]8[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]9[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]10[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]11[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]12[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]13[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]14[Ô], Type.GetType([Ô]System.String[Ô]))
Dim objReader As New StreamReader(txt_arquivo.Text)
[ô]percorre o arquivo
Do While objReader.Peek() <> -1
linhaTexto = objReader.ReadLine()
arrrayDeLinhas = Split(linhaTexto, [Ô];[Ô])
row = dt.NewRow
row.ItemArray = arrrayDeLinhas
dt.Rows.Add(row)
Loop
[ô]atribui ao datagridview o objeto datatable criado
dbg_itens.DataSource = dt
ABraços a todos que me ajudaram
dt.Columns.Add([Ô]1[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]2[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]3[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]4[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]5[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]6[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]7[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]8[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]9[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]10[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]11[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]12[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]13[Ô], Type.GetType([Ô]System.String[Ô]))
dt.Columns.Add([Ô]14[Ô], Type.GetType([Ô]System.String[Ô]))
Dim objReader As New StreamReader(txt_arquivo.Text)
[ô]percorre o arquivo
Do While objReader.Peek() <> -1
linhaTexto = objReader.ReadLine()
arrrayDeLinhas = Split(linhaTexto, [Ô];[Ô])
row = dt.NewRow
row.ItemArray = arrrayDeLinhas
dt.Rows.Add(row)
Loop
[ô]atribui ao datagridview o objeto datatable criado
dbg_itens.DataSource = dt
Tópico encerrado , respostas não são mais permitidas