Não encontrou o que procurava? Dê uma olhada nessas páginas!

Blog

Gerenciando arquivos do Excel com a Biblioteca DataFlex para LibXL

10 de Julho de 2018
Por Randall Rutherford

Uma solicitação de recurso comum que os desenvolvedores de aplicações costumam solicitar para incorporar em seu software comercial é a capacidade de importar ou exportar dados para ou de arquivos do Microsoft Excel. Felizmente, o DataFlex facilita isso usando a poderosa Biblioteca DataFlex para LibXL! 

Com essa biblioteca, os desenvolvedores podem facilmente expandir suas aplicações do Windows, da Web e mobile para ler e gravar arquivos do Excel sem exigir o uso do Microsoft Excel e do .NET Framework para:

  • Gerar uma nova planilha do zero
  • Extrair dados de uma planilha existente
  • Editar uma planilha existente

A Biblioteca DataFlex para LibXL torna fácil e rápido o uso do LibXL com suas aplicações DataFlex por um custo muito menor do que o licenciamento do Microsoft Excel. Para ver o LibXL trabalhando em uma aplicação DataFlex simples, confira o LibXL Demo.

Mais razões para usar a Biblioteca DataFlex para LibXL

  • Alto desempenho: o LibXL é um mecanismo de alto desempenho, capaz de criar até 2 milhões de células por segundo.
  • O LibXL oferece uma ampla variedade de funções que a biblioteca do DataFlex converte em uma lista de opções facilmente programáveis.
  • Suporte para o antigo formato de arquivo do Excel (.xls) e novos formatos (.xlsx e .xlxm) e várias opções de formatação para fontes, bordas, padrões de preenchimento, mesclagem de células, etc.
  • Alta eficiência: O LibXL é muito mais eficiente que a alternativa do COM + Excel, que pode usar mais de 50% dos recursos da CPU para processar uma planilha. A menor sobrecarga de CPU do LibXL é particularmente importante para aplicações baseadas na web.
  • E ainda mais ótimas notícias: Para soluções que usam o LibXL, nenhuma taxa de royalties é cobrada pelo LibXL ao distribuir sua aplicação!

A Biblioteca DataFlex para LibXL consiste em:

  • Uma Biblioteca DataFlex que pode ser anexada a qualquer workspace
  • Uma workspace demo contendo exemplos de uso da biblioteca

O software é para uso com LibXL v3.8.1.0 e não é suportado por nenhuma versão mais antiga ou mais recente. Por padrão, o LibXL usa uma licença de demonstração, o que é bom para a fase de avaliação. Ele irá escrever um banner na primeira linha de cada planilha e poderá ler apenas 300 células (a primeira linha não estará disponível).

A Biblioteca DataFlex para LibXL é comercializada pela Data Access Europa e inclui uma licença LibXL. Uma licença comercial é requerida para remoção do banner e a limitação de leitura.

Comparando a Biblioteca DataFlex para LibXL vs. classes de proxy COM para o Excel

No passado, os desenvolvedores DataFlex normalmente usavam o COM para fornecer essa mesma funcionalidade, mas isso tem algumas desvantagens, especialmente para aplicações Web.

O desenvolvedor DataFlex e analista de negócios Frank van den Beemt da empresa holandesa VolkerWessels Infra ICT dá uma visão geral de sua experiência usando as classes de proxy DataFlex COM, geradas a partir do Excel e da Biblioteca DataFlex para LibXL com as aplicações de sua empresa ...


Por muitos anos, usei uma classe COM do Excel (gerada com o DataFlex) para criar e ler documentos do Excel. Depois de gerar a classe, você deve criar seus próprios Procedimentos e Funções em vários objetos do Excel dentro de seu programa (ou criar seu próprio .pkg) para usá-lo.

Vantagens no uso do COM:

  • No modo de depuração, você pode ver o que está acontecendo
  • Tudo é possível

Desvantagens no uso do COM:

  • Você precisa adicionar seus próprios procedimentos e funções.
  • Durante o processamento, ele usa mais de 50% da capacidade da CPU.
  • A velocidade de processamento é muito lenta. Pode levar vários minutos para um documento grande.
  • Você precisa de uma instalação da versão do Excel em seu servidor/servidor da web. Com a versão mais recente do Excel, o processo de abertura do Excel deve ser feito por um usuário registrado conhecido e não pelo sistema.

Usando a Biblioteca DataFlex LibXL

Para uma aplicação web, não pude usar a classe COM devido a problemas de licenciamento do Excel, então comprei a Biblioteca DataFlex para LibXL. Esta biblioteca está imediatamente pronta para uso e vem com código-fonte de exemplo para ajudar você a começar.

Vantagens no uso da LibXL

  • Você não precisa de uma licença do Excel
  • Você não precisa adicionar seus próprios procedimentos/funções
  • É extremamente rápido (gera grandes planilhas em segundos)

Desvantagens no uso da LibXL

  • Possibilidades de depuração limitadas (você não pode ver o que está acontecendo)
  • Em muitos casos, você precisa dividir a formatação da célula e a escrita do valor da célula

Com a Biblioteca DataFlex para LibXL eu criei facilmente uma planilha do Excel na qual usei uma variedade limitada de formatação de células, como mostrado abaixo. Embora a formatação tenha sido um pouco mais difícil do que eu estava acostumado a fazer na classe COM, o uso geral da Biblioteca é mais rápido e fácil, e os resultados são excelentes!

Excel LibXL screenshot

Figura 1: Planilha do Excel criada com a Biblioteca DataFlex para LibXL


Veja a demonstração do LibXL + DataFlex em ação.

Ao visualizar a demonstração do LibXL, observe:

A demonstração é um exemplo compilado para que você possa ver como ela funciona (o que ela faz) - você pode ver o código do DataFlex e como ele é programado;
Você não pode compilar o código, porque não fornecemos o código-fonte da Biblioteca DataFlex para fins de avaliação.