Deutsch Indonesia Tiếng Việt فارسی English Italiano Türkçe ไทย Español Polski Русский 日本語 Français Português العربية

Geração de documentos a partir de modelos em C#

Wordize for .NET é uma solução profissional para automatização de relatórios e geração programática de documentos. A classe ReportBuilder fornece aos desenvolvedores C# a capacidade de criar relatórios utilizando modelos e sintaxe LINQ, o que ajuda a acelerar os processos de inteligência de negócios, implementar conteúdo dinâmico em fluxos de trabalho documentais automatizados.

Características Funcionais:
  • Geração programática de relatórios - a classe ReportBuilder fornece o método BuildReport() para criar documentos baseados em modelos
  • Integração flexível com fontes de dados - suporte para JSON, XML, CSV e objetos programáticos (classes personalizadas, coleções de objetos)
  • Aplicação de expressões LINQ para filtragem, ordenação e agrupamento de dados ao gerar documentos
  • Configuração de parâmetros de geração - a classe ReportBuilderOptions gerencia os tipos de dados disponíveis, tratamento de campos ausentes, remoção de parágrafos vazios e outros parâmetros de criação de relatórios
  • Exportação para formato gráfico - o método BuildReportToImages() retorna as páginas do relatório como uma matriz de imagens
  • Suporte à API Fluent para executar operações de criação de relatórios através de ReportBuilderContext e encadeamento de métodos, adicionando clareza ao código C#

Teste as capacidades de geração programática de relatórios na demonstração interativa online apresentada nesta página. Para isso, carregue um modelo de documento, arquivo de dados (JSON, XML ou CSV), execute a operação e baixe o documento gerado para verificação. O trecho de código C# fornecido está completamente pronto para uso em seu projeto .NET.

C#
Executar código
Carregue o modelo do documento
Carregue o arquivo de dados
Seleccione o formato de saída da lista
using Wordize.Reporting;

var dataSource = new JsonDataSource("data.json");
ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new JsonDataSource("data.json"); ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new JsonDataSource("data.json"); var imageStreams = ReportBuilder.BuildReportToImages("Input.docx", new ImageSaveOptions(SaveFormat.Pdf), new[] { dataSource }, new[] { "" }); foreach (var (stream, page) in imageStreams.Select((s, i) => (s, i))) { using var _ = stream; stream.Position = 0; using var file = File.Create($"Output_{page + 1}.pdf"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new XmlDataSource("data.xml");
ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new XmlDataSource("data.xml"); ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new XmlDataSource("data.xml"); var imageStreams = ReportBuilder.BuildReportToImages("Input.docx", new ImageSaveOptions(SaveFormat.Pdf), new[] { dataSource }, new[] { "" }); foreach (var (stream, page) in imageStreams.Select((s, i) => (s, i))) { using var _ = stream; stream.Position = 0; using var file = File.Create($"Output_{page + 1}.pdf"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true });
ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true }); ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true }); var imageStreams = ReportBuilder.BuildReportToImages("Input.docx", new ImageSaveOptions(SaveFormat.Pdf), new[] { dataSource }, new[] { "" }); foreach (var (stream, page) in imageStreams.Select((s, i) => (s, i))) { using var _ = stream; stream.Position = 0; using var file = File.Create($"Output_{page + 1}.pdf"); stream.CopyTo(file); }
Executar código

Como criar relatório em C#

  1. Conecte o SDK Wordize ao seu projeto .NET
  2. Crie uma fonte de dados e chame o método ReportBuilder.BuildReport(), especificando nos parâmetros o modelo do documento, arquivo resultante e fonte de dados
  3. Obtenha o documento gerado
5%