Criando uma planilha no formato de documentos abertos em Delphi / C ++ Builder / Lazarus

2020-08-03

Sumário de ODS e ODF

ODS é um formato aberto para planilhas feitas de acordo com o padrão OpenDocument Format (ODF). Este formato é distribuído gratuitamente e segue os padrões da International Organization for Standardization. O padrão foi desenvolvido pelo comitê técnico da OASIS e foi baseado no formato XML; foi aprovado para lançamento como um padrão internacional ISO e IEC sob o nome ISO / IEC 26300 em 1 de maio de 2006. A OTAN tornou o padrão Open Document Format (ODF) obrigatório para apoiar a interoperabilidade entre os vários governos e agências governamentais. Muitos países têm adotado o ODF como um padrão governamental.

Planilhas ODF (uma das variedades de ODS) são objetos de arquivos simples e interativos usados para analisar, organizar e armazenar todos os tipos de dados baseados em planilhas.

Os recursos ODS podem ser abertos com qualquer suíte de escritório moderna, OpenOffice, LibreOffice Suite e MS Office (desde 2007).Planilhas ODF (uma das variedades de ODS) são objetos de arquivos simples e interativos usados para analisar, organizar e armazenar todos os tipos de dados baseados em planilhas.
Os recursos ODS podem ser abertos com qualquer suíte de escritório moderna, OpenOffice, LibreOffice Suite e MS Office (desde 2007).

Desde 2014, o padrão ODF foi adicionado aos aplicativos da web Documentos, Planilhas e Apresentações Google. Agora você pode abrir, editar e salvar arquivos com as extensões .odt (documentos de texto), .ods (planilhas) e .odp (apresentações). Em telefones e tablets Android, o suporte mais abrangente de arquivos ods é implementado no aplicativo AndrOpen Office.

Cada documento ODF é armazenado em um arquivo zip, portanto, para abrir este documento, basta renomear sua extensão para .zip e abri-lo com qualquer compactador zip. Depois disso, veremos pelo menos cinco arquivos .xml e vários diretórios.

Existem os chamados metadados nesses arquivos xml, além do conteúdo real do documento. São os dados adicionais que permitem definir parâmetros específicos para o texto. Por exemplo, tipo e tamanho da fonte, posição do texto na página, opções de impressão ou exibição.

O padrão de descrição de metadados XML (eXtend Markup Language) está ganhando mais popularidade atualmente. O principal requisito deste padrão é ser amigável: os documentos xml devem ser facilmente legíveis usando os processadores de texto mais simples e a marcação xml deve ser simples de entender por uma pessoa.

ODF é uma das inúmeras implementações do padrão XML. Portanto, depois de abrir o documento ODF como um arquivo ZIP, não será um grande problema entender a estrutura dos arquivos e pastas por seus nomes. Especialmente para aqueles que pelo menos uma vez na vida criaram páginas html, pelo menos no mesmo nível de “Olá, Mundo!” rechear. Content.xml é o arquivo de conteúdo principal e style.xml contém as informações de estilo. As pastas podem conter arquivos multimídia: fotos, áudio e vídeo. Em geral, o documento ODF é algo como um site da Web da época das páginas html estáticas.

Agora aprendemos sobre o formato em si, mas como salvamos um relatório com a extensão .ods? Na verdade, é extremamente fácil. Podemos criar o documento mais simples e descompactá-lo, conforme mencionado acima. Deixe-me lembrá-lo de que o padrão é aberto. Ou… podemos fazer do nosso jeito favorito!

Salvando em formato .ODS à partir do Delphi usando o FastReport

Antes de salvar um arquivo .ods, você já deve ter um projeto compilado com FastReport implementado com o componente Exportar para planilha de documentos abertos, bem como o relatório gerado (há um artigo separado sobre a criação de relatórios). Deixe-me lembrá-lo novamente - sim, você pode usar fontes internas do aplicativo e bancos de dados como uma fonte de dados para seu relatório. Execute o aplicativo e chame a exportação da janela de visualização (no final deste artigo há uma maneira de salvar o arquivo .ODS diretamente do código), uma janela de configurações aparecerá:


Setting Open Documents Spreadsheet  Setting Open Documents Spreadsheet

As ferramentas do FastReport permitem que você escolha quais páginas do documento exportar, certas páginas ou um intervalo.

Configurações de exportação - definir uma melhor correspondência visual com a versão original (WYSIWYG), usar quebras de página, exportar como um documento contínuo que pula cabeçalhos e rodapés ou exportar um plano de fundo - objetos gráficos usados como plano de fundo do relatório página.

Como de costume, você pode especificar onde salvar seu arquivo (no armazenamento local, enviar como e-mail, fazer upload para FTP ou armazenamento em nuvem).

Abrir após exportação - o arquivo resultante será aberto imediatamente após a exportação por qualquer software associado aos arquivos ODS.

Código completo para salvar no formato Open Document Spreadsheet diretamente do Delphi / Lazarus

Gravar para ODS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
procedure TForm1.Button1Click(Sender: TObject);
begin
 {Generate a report. The report must be generated before exporting}
 frxReport1.PrepareReport();
 {Set the range of pages to export. By default, all pages of the generated report are exported}
 frxODSExport1.PageNumbers := '2-3';
 {Set whether to generate a continuous document}
 frxODSExport1.SingleSheet := False;
 {Set whether to export the page breaks so that when printing the pages correspond to the pages of the generated report}
 frxODSExport1.ExportPageBreaks := True;
 {Set WYSIWYG}
 frxODSExport1.Wysiwyg := True;
 {Set whether to export the background}
 frxODSExport1.Background := True;
 {Set whether to open the resulting file after export}
 frxODSExport1.OpenAfterExport := False;
 {Set whether to display export progress (show which page is currently being exported)}
 frxODSExport1.ShowProgress := False;
 {Set whether to display the export filter dialog box}
 frxODSExport1.ShowDialog := False;
 {Set the name of the resulting file.}
 {Please note that if you do not set the file name and disable the export filter dialog box,}
 {the file name selection dialog will still be displayed}
 frxODSExport1.FileName := 'C:\Output\test.ods';
 {Export the report}
 frxReport1.Export(frxODSExport1);
end;

Então, de forma rápida e fácil podemos fazer nosso aplicativo para gerar arquivos de formato global moderno.

VCL VCL Export Export Lazarus Lazarus FastReport FastReport Delphi Delphi
22 de abril de 2025

Working with XML and JSON Formats in FastScript

In this article, we will take a closer look at how to work with JSON and XML in FastReport, see what properties and methods they have, and build reports from code with scripts.
22 de abril de 2025

Working with the TfrShellTreeView Component in FastReport VCL

In this article, we will look at the TfrShellTreeView component. It is designed to display file system elements and is partially analogous to the TDirectoryListBox, TDirectoryOutline, and TShellTreeView components.
21 de abril de 2025

How RFID Tags Work in FastReport VCL

In this article, we'll check out how RFID tags work with the new TfrxDeviceCommand object in FastReport VCL with release 2025.2.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.