Inserir os dados de uma planilha Excel para um DBGrid
Olá!
Tenho uma tela num programa que possui um DBGrid onde será mostrado os valores de uma planilha Excel.
Nesta tela tem um botão de ´Importar´ e outro de ´Exportar´.
Quando o usuário clicar em ´Importar´ abrirá uma janela através de um componente ´OpenDialog´ onde o usuário deverá selecionar o arquivo Excel.
Este arquivo tem uma formatação fixa, contendo duas colunas, uma com o Nome do Usuário e outra com a Matrícula.
Quando o usuário selecionar o arquivo que será aberto, o programa lerá o arquivo, pegando linha a linha e inserindo os dados no DBGrid, até chegar a uma célula vazia.
Após inserir todas as linhas, o usuário poderá incluir ou excluir alguma linha. Esta inclusão e exclusão no DBGrid acho que não deve ser tão difícil.
Quando o usuário clicar em ´Exportar´, o programa deve ler todas as linhas do DBGrid, criar um ´arquivo.txt´ e inserir linha a linha neste arquivo txt criado.
Obs.: O campo nome tem um tamanho máximo de 30 caracteres e a matrícula no máximo 7.
Sei que isto é bastante complexo, mas se alguém puder me ajudar agredeceria muito.
Ou se tiverem algum programa que faça algo parecido, também ajuda bastante.
Desde já agradeço.
Tenho uma tela num programa que possui um DBGrid onde será mostrado os valores de uma planilha Excel.
Nesta tela tem um botão de ´Importar´ e outro de ´Exportar´.
Quando o usuário clicar em ´Importar´ abrirá uma janela através de um componente ´OpenDialog´ onde o usuário deverá selecionar o arquivo Excel.
Este arquivo tem uma formatação fixa, contendo duas colunas, uma com o Nome do Usuário e outra com a Matrícula.
Quando o usuário selecionar o arquivo que será aberto, o programa lerá o arquivo, pegando linha a linha e inserindo os dados no DBGrid, até chegar a uma célula vazia.
Após inserir todas as linhas, o usuário poderá incluir ou excluir alguma linha. Esta inclusão e exclusão no DBGrid acho que não deve ser tão difícil.
Quando o usuário clicar em ´Exportar´, o programa deve ler todas as linhas do DBGrid, criar um ´arquivo.txt´ e inserir linha a linha neste arquivo txt criado.
Obs.: O campo nome tem um tamanho máximo de 30 caracteres e a matrícula no máximo 7.
Sei que isto é bastante complexo, mas se alguém puder me ajudar agredeceria muito.
Ou se tiverem algum programa que faça algo parecido, também ajuda bastante.
Desde já agradeço.
Bclr
Curtidas 0
Respostas
Andrelan
06/11/2003
Olá caro Amigo,
Mande seu problema para meu email andrelan@click21.com.br com a tela, a planilha e a tabela que você esta querendo fazer esta operação que te ajudarei.
Abraço André Nascimento
Mande seu problema para meu email andrelan@click21.com.br com a tela, a planilha e a tabela que você esta querendo fazer esta operação que te ajudarei.
Abraço André Nascimento
GOSTEI 0
Bclr
06/11/2003
POR FAVOR, ALGUÉM ME AJUDE !!!
SE ALGUÉM TIVER MAIS ALGUMA IDÉIA...
SE ALGUÉM TIVER MAIS ALGUMA IDÉIA...
GOSTEI 0
Bclr
06/11/2003
SOCORRO!!!
NINGUÉM TEM ALGUMA IDÉIA DE COMO FAZER ISTO ???
NINGUÉM TEM ALGUMA IDÉIA DE COMO FAZER ISTO ???
GOSTEI 0
Einstein
06/11/2003
oi bom dia. vc parece tá deseperado.
* quanto a Usar o Excel. vc pode usar os Componentes da Paleta ADO. tem um exemplo na seçào Aplicativos.
* pra exportar pro Arquivo TXT vc pode usar a variavel TextFile. segue um exemplo:
var
Exportar:TextFile;
Conteudo:string;
begin
AssignFile(Exportar,´C:\Exportar.txr´); // Cria o arquivo exportar no C:.
Rewrite(Exportar); // Abre o Arquivo.
while not OrigemdeDados.Eof do begin //Inicio do Loop.
Conteudo:=Format(´¬-30s´, [Copy
(OrigemdeDadosNome.AsString,1,30)])+
Format(´¬-7s´, [Copy(OrigemdeDadosMatricula.AsString,1,30)]);
Writeln(Exportar,Conteudo);
OrigemdeDados.Next;
end;
CloseFile(Exportar);// Fechar o Arquivo Exportar;
FreeAndNil(Exportar) // libera a memória.
Nota: Readln(Exportar,Conteudo) // usado para ler o Arquivo.
espero ter ajudado.
* quanto a Usar o Excel. vc pode usar os Componentes da Paleta ADO. tem um exemplo na seçào Aplicativos.
* pra exportar pro Arquivo TXT vc pode usar a variavel TextFile. segue um exemplo:
var
Exportar:TextFile;
Conteudo:string;
begin
AssignFile(Exportar,´C:\Exportar.txr´); // Cria o arquivo exportar no C:.
Rewrite(Exportar); // Abre o Arquivo.
while not OrigemdeDados.Eof do begin //Inicio do Loop.
Conteudo:=Format(´¬-30s´, [Copy
(OrigemdeDadosNome.AsString,1,30)])+
Format(´¬-7s´, [Copy(OrigemdeDadosMatricula.AsString,1,30)]);
Writeln(Exportar,Conteudo);
OrigemdeDados.Next;
end;
CloseFile(Exportar);// Fechar o Arquivo Exportar;
FreeAndNil(Exportar) // libera a memória.
Nota: Readln(Exportar,Conteudo) // usado para ler o Arquivo.
espero ter ajudado.
GOSTEI 0
Bclr
06/11/2003
Obrigado Einstein.
Mas continuo em dúvida de como fazer para pegar os valores de uma planilha Excel. É melhor usar mesmo componentes da paleta ADO?
Não encontrei nenhum exemplo de como fazer isto na seçào Aplicativos.
O que usar StringGrid ou DBGrid?
Por favor alguém me ajude.
Mas continuo em dúvida de como fazer para pegar os valores de uma planilha Excel. É melhor usar mesmo componentes da paleta ADO?
Não encontrei nenhum exemplo de como fazer isto na seçào Aplicativos.
O que usar StringGrid ou DBGrid?
Por favor alguém me ajude.
GOSTEI 0