Desenvolvimento - Delphi
Delphi: Utilizando XLS como "banco de dados"
Neste artigo iremos demonstrar o acesso a arquivos XLS como banco de dados utilizando componentes ADO.
por Gustavo S. SemaanNeste artigo iremos demonstrar o acesso a arquivos XLS como banco de dados utilizando componentes ADO. Este acesso permite leitura, alteração (em documentos já existentes) e inclusão dos dados, mas não a exclusão.
Criando o "Banco de dados"
Em nosso código de exemplo temos um pequeno software de cadastro de contatos com endereços e telefones. Um contato pode ter vários endereços e vários telefones. Iremos então utilizar três "tabelas", CONTATO, ENDERECO e TELEFONE.
Vamos criar um novo arquivo do Excel e salvar como Agenda.xls. Este arquivo será nosso banco de dados.
Ele possuirá três planilhas. Na primeira linha da Plan1 deverão ser digitados os nomes dos campos da tabela CONTATO (COD_CONTATO, NOME, DATA_NASCIMENTO, SEXO, APELIDO, ATIVO). Em seguida deverão ser selecionadas estas células e na caixa de nome, alterar o nome para CONTATO. Esta operação também pode ser feita pelo menu Inserir / Nome / Definir e digitando CONTATO no campo "Nomes na pasta de trabalho".
Figura 1 - Planilha representando tabela CONTATO
O mesmo procedimento deve ser feito com a tabela TELEFONE (COD_TELEFONE, COD_CONTATO, TELEFONE, ATIVO) na Plan2 onde o nome na "Caixa de Nome" deverá ser TELEFONE, e com a tabela ENDERECO (COD_ENDERECO, COD_CONTATO, RUA, NUMERO, CEP, ATIVO) na Plan3, onde o nome na "Caixa de Nome" será ENDERECO.
Figura 2 - Planilha representando tabela TELEFONE
Figura 3 - Planilha representando tabela ENDERECO
Configurando a conexão ao arquivo XLS
Iremos configurar a conexão ao arquivo XLS, e no código do exemplo teremos explicações sobre toda a implementação.
Será necessário um componente TADOConnection, localizado na guia ADO do Delphi. Em sua propriedade LoginPrompt marque false. Clicando duas vezes sobre o componente ou em sua propriedade ConnectionString selecionaremos a opção "Use Connection String" e clicaremos em Build.
Na janela "Propriedades de vinculação de dados", guia Provedor selecionaremos "Microsoft Jet 4.0 OLE DB Provides" e clicaremos em Avançar.
Na guia Conexão digitaremos Agenda.xls. Não é necessário colocar o endereço completo se o arquivo xls estiver no mesmo diretório da aplicação.
Na guia Todas alteraremos apenas a propriedade "Extended Properties" digitando Excel 8.0.
Pronto, a conexão está criada!
Faça o download do código de exemplo e veja detalhes de toda a implementação!
Observações:
- O componente de conexão (TADOConnection) só deverá ser ativado em tempo de execução. Caso contrário ocorrerá uma "Falha Catastrófica".
- Pode ser necessária a instalação do MDAC (Microsoft Data Access Components) caso o Windows ou Office não o possuam.
- Este modo de acesso não suporta deleção de registros (Acesso utilizado geralmente para leitura e alteração).
- Tamanho dos campos, máscaras...: serão configurados nos TFields dos componentes TADOQuery e TADOTable.
Ferramentas Utilizadas:
- Borland Delphi 6
- MS Excel 2000
Referência: Artigo do Armando Nunes Coelho Junior, "Acesso ao Excel via ADO".