Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Este artigo ensina como utilizar a biblioteca FPSpreadsheet para criar, ler e modificar planilhas eletrônicas, que são os arquivos como os criados pelo Excel. Ele também mostra como colocar cores e outros estilos de formatação, além de converter entre formatos e ainda como criar gráficos com base na planilha.
Em que situação o tema é útil
O uso mais comum do FPSpreadsheet é a automação de trabalhos de escritório repetitivos envolvendo planilhas eletrônicas. O FPSpreadsheet pode ser utilizado para realizar uma mesma mudança em milhares de planilhas, ou para gerar planilhas a partir de uma fonte de dados ou ainda para ler planilhas e gerar gráficos ou outro tipo de saída. Praticamente qualquer escritório trabalha com planilhas e por isso mesmo os usos para o FPSpreadsheet são muitos.
FPSpreadsheet
O FPSpreadsheet é uma biblioteca escrita em Object Pascal que implementa suporte para ler, modificar e salvar planilhas eletrônicas, em diversos formatos. Ao contrário de outras técnicas para fazer esse tipo de tarefa, que se conectam ao Excel e ele é quem realmente realiza o trabalho, o FPSpreadsheet não tem nenhuma dependência externa e possui seu próprio código Pascal para ler e escrever os formatos do Excel e do OpenOffice. Esta biblioteca suporta múltiplas páginas num mesmo documento, além de números, texto em Unicode UTF-8, fórmulas, bordas, cor de fundo, negrito e outras opções de formatação. É possível ainda combinar esta biblioteca com o componente TAChart do Lazarus para desenhar gráficos com base nos dados de uma planilha.
As planilhas eletrônicas são utilizadas em praticamente qualquer empresa e em qualquer função de escritório. Desde o contador que faz planilhas financeiras até o engenheiro que trabalha em relatórios de testes de um chip, as planilhas se fazem presentes no trabalho no escritório. E juntamente com as planilhas, também vem o Excel, talvez o programa mais usado no escritório depois do Word e depois dos navegadores (Opera, Internet Explorer, Firefox etc.). Obviamente que o método mais comum e fácil de trabalhar com uma planilha eletrônica é simplesmente rodar o Excel, ou o OpenOffice, e sair escrevendo os campos, textos, formatações e fórmulas. Mas e se o trabalho a ser realizado for imenso e repetitivo? Não é raro para quem trabalha em escritório ter de converter milhares de dados num outro formato para Excel, para poder criar belos gráficos. Resultados de testes, por exemplo, ou então dados que estão num banco de dados e precisam ser copiados com milhares de Ctrl+C / Ctrl+V. Normalmente esse trabalho poderia levar dias, mas será que esse trabalho não poderia ser automatizado? Pode sim! Utilizando o FPSpreadsheet.
Um exemplo concreto de como a criação automática de planilhas pode ser útil é na geração de planilhas a partir de dados de um equipamento de testes. Muitas máquinas de testes geram sua saída em arquivos com dados separados por vírgulas, conhecidos como arquivos CSV (do inglês comma separated values). O Excel possui uma capacidade nativa de importar este tipo de arquivo, mas frequentemente nem tudo no arquivo será útil, e os dados precisarão ser reorganizados antes de estarem prontos para se criar um gráfico com base neles. Nesse caso será necessário muito trabalho manual para ajustar os dados, o que pode levar muitas horas. Se o volume de testes for muito grande, então pode ser que o trabalho leve dias. Um programa criado com ajuda do FPSpreadsheet poderia ler o arquivo de entrada e gerar uma planilha do Excel já arrumada, pronta para gerar gráficos. O mesmo vale para qualquer outro trabalho de escritório repetitivo que precise gerar um documento como saída. Obviamente que escrever o programa que automatiza o trabalho requer conhecimento de programação Pascal e também levará algumas horas para ser feito e verificado, então só valerá a pena escrever um programa se a tarefa tiver de ser feita várias vezes.
Ele foi desenvolvido com uma arquitetura flexível e bem projetada, e pode ter muitos outros usos. Esta biblioteca foi escrita 100% em Object Pascal e implementa suporte para ler, modificar e salvar planilhas eletrônicas, em diversos formatos. Ao contrário de outras técnicas para fazer esse tipo de tarefa, que se conectam ao Excel e ele é quem realmente realiza o trabalho, o FPSpreadsheet não tem nenhuma dependência externa e possui seu próprio código Pascal para ler e escrever os formatos do Excel desde a versão 2 até o novo Office Open XML, passando pelo formato mais comum que é o Excel 8 (o formato do Excel 97, 2000 e XP), além de também suportar o formato OpenDocument, do Open Office. Uma grande vantagem desta arquitetura é que não é necessário ter o Excel instalado no computador para que o programa funcione, assim é possível rodar programas que usam o FPSpreadsheet no Linux ou até mesmo em celulares Android, enfim em qualquer plataforma suportada pelo Free Pascal.
...