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. Semaan



Introdução

Neste 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".

Gustavo S. Semaan

Gustavo S. Semaan - Bacharelando em Sistemas de Informação, Técnico em Informática Industrial, é Analista de Sistemas do CAEd / UFJF, desenvolvendo sistema escolar e soluções em avaliações educacionais. Possui experiência em Delphi, vb.NET, PHP e JAVA e utiliza banco de dado SQL Server, Interbase/Firebird e MySQL.