IMPORTAR DADOS EXCEL

MAYKONMIC 08/03/2010 22:04:27
#336354
Quero Importar uma lista de alunos do excel como faço?
Quero pegar o valor de celula por celula sempre pra baixo
Irei Pegando valor por valor e jogando nas caixas de texto o usuario apenas escolherá algumas opçõescomo número de chamada e turma.
________________
|___Vagner________|
|___Jorge _________|
|___Beatriz________|
|
|
|
\/
PEGUDO 09/03/2010 09:41:12
#336387
Primeiro, Vá no menu Projects / References;
Procure as referências [Ô]Microsoft Excel 11.0 Object Library[Ô] (ou a sua versão).

Para este exemplo, eu fiz uma planilha pequena com três nomes só, iniciando da célula 4, na coluna 1.

[txt-color=#e80000](Lembre-se que é só um exemplo, se for o que você precisa, faça as mudanças necessa'rias para sua aplicação)[/txt-color]

Supondo que os nomes serão inseridos assim que o Form carregar, faça deste jeito:

[txt-color=#0000f0]Private Sub[/txt-color] Form_Load()
[txt-color=#0000f0]Dim[/txt-color] ObjetoExcel [txt-color=#0000f0]As New [/txt-color]Excel.Application
[txt-color=#0000f0]Dim[/txt-color] Celulas [txt-color=#0000f0]As[/txt-color] Excel.Workbook
[txt-color=#0000f0]Dim[/txt-color] I [txt-color=#0000f0]As Integer[/txt-color]

[txt-color=#e80000] Atenção porque aqui entra o caminho e o nome (completos, com extensão e tudo) do seu arquivo[/txt-color]
[txt-color=#0000f0]Set[/txt-color] Celulas = ObjetoExcel.Workbooks.Open([Ô]C:\Documents and Settings\Busca certo\Meus documentos\horas extras.xls[Ô])

Celulas.Sheets([Ô]Plan1[Ô]).Select
[txt-color=#007100]Lembre-se que a pesquisa será iniciada no célula 4 da coluna 1[/txt-color]
[txt-color=#0000f0]For[/txt-color] I = 4 [txt-color=#0000f0]To[/txt-color] 6[txt-color=#007100] [ô]Loop entres as células[/txt-color]
Text1.Text = Celulas.Application.Cells(I, 1) [txt-color=#007100][ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
I = I + 1[txt-color=#007100] [ô]Incrementa a variável[/txt-color]
Text2.Text = Celulas.Application.Cells(I, 1) [txt-color=#007100][ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
I = I + 1[txt-color=#007100] [ô]Incrementa a variável[/txt-color]
Text3.Text = Celulas.Application.Cells(I, 1)[txt-color=#007100] [ô]Inserindo o valor da célula 4, coluna 1, dentro da Text1[/txt-color]
[txt-color=#0000f0] Next[/txt-color]

Celulas.Close [txt-color=#0000f0]False[/txt-color]

[txt-color=#0000f0] Set [/txt-color]celula = [txt-color=#0000f0]Nothing[/txt-color]
[txt-color=#0000f0]Set[/txt-color] ObjetoExcel = [txt-color=#0000f0]Nothing[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color]

Como eu disse, este é um PEQUENO exemplo de como importar dados do Excel.
Certamente sua aplicação tem mais de três caixas de textos, então mãos à obra porque o raciocínio é este.
Valeu
SINKERTEC 09/03/2010 09:44:16
#336388
Resposta escolhida

Cara.vamos por parte

Primeiro trazer os dados da planilha

Dim xl As New Excel.Application
Dim xls As Excel.Workbook

Dim BD As Database
Dim Tabela As Recordset

[ô]Abrir o arquivo do Excel
Set xls = xl.Workbooks.Open(txtPath)

[ô] definir qual a planilha de trabalho
xls.Sheets([Ô]Plan1[Ô]).Select



Text1 = xls.Application.Cells(X,Y).Value [ô]oonde X é a linha e Y a coluna de forma numérica


[ô] Fechar a planilha sem salvar alterações
[ô] Para salvar mude False para True

xls.Close False

[ô] Liberamos a memória

Set xls = Nothing
Set xl = Nothing
NETMANIA 09/03/2010 11:21:46
#336402
Estou enviando em anexo um projeto que fiz para importar uma planilha em Excel para um banco no SQL Server.

Espero que seja útil para você e os demais membros do grupo.
MAYKONMIC 09/03/2010 15:51:53
#336448
Olha obrigado até o momento tudo certo;
só queria saber como escolher o arquivo xls pelo commodialog
e a escolha tanto da coluna como do número de linhas a se utilizar seja do usuario.
PEGUDO 11/03/2010 09:53:23
#336628
Cara dá uma olhada neste pequeno exemplo e vê se é o que você precisa.
Lembre-se: Se este exemplo lhe ajudar, faça as mudanças necessárias para sua aplicação, feche o tópico e pontue.

Valeu
MAYKONMIC 11/03/2010 16:26:56
#336665
ok tudo bem vou testar!
MAYKONMIC 05/04/2010 10:40:27
#338567
gente usei esse exemplo postado pelo pegudo na hora de atribuir o valor a variavel o seguinte erro me aparece:

1004[ô] application-defined or object-defined error
JILNEY 05/04/2010 17:57:42
#338622
Faça uma conexão OLEDB com o Excel da mesma forma que se faz com o Access e utilize os Objetos Command, Recordset ... tudo da mesma forma como se estivesse trabalhando com o access. Abaixo o codigo para conexão comentado.

Conectar escolhendo a planilha com uma Comomdialog:

1 - Declare uma variavel string de nome: caminho
2 - Declare a conexão com o nome: cnn_excel

Private Sub conexao_excel()

[ô]conecta ao banco de dados, sendo este a planilha excel
[ô]para efetuar a conexão deve-se informar o caminho onde se localiza
[ô]a planilha através da caixa de dialogo abrir, a qual passará
[ô]o endereço na string [Ô]caminho[Ô]

If cnn_excel.State = 1 Then
cnn_excel.Close
End If

Dim Directory As Integer
CommonDialog1.Filter = [Ô]Arquivos do Excel 2003 (*.xls)|*.xls|[Ô] & _
[Ô]Arquivos do Excel 2007 (*.xlsx) |*.xlsx|[Ô]
CommonDialog1.ShowOpen

caminho = CommonDialog1.FileName

If CommonDialog1.FileName <> Empty Then

[ô]código da conexão com tratamento de erro
On Error GoTo errconexao
cnn_excel.ConnectionString = [Ô]provider = microsoft.jet.oledb.4.0; [Ô] & _
[Ô]data Source = [ô][Ô] & caminho & [Ô][ô];Extended Properties=Excel 8.0;[Ô]
cnn_excel.CursorLocation = adUseClient
cnn_excel.Open
Exit Sub

errconexao:
With Err
If .Number <> 0 Then
.Number = 0
Set cnn_excel = Nothing
End If
End With
End If

End Sub


Tópico encerrado , respostas não são mais permitidas