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

Generación de Documentos desde Plantillas en C#

Wordize for .NET es una solución profesional para la automatización de informes y generación programática de documentos. La clase ReportBuilder proporciona a los desarrolladores de C# la capacidad de crear informes utilizando plantillas y sintaxis LINQ, lo que ayuda a acelerar los procesos de inteligencia de negocios, implementar contenido dinámico en flujos de trabajo documentales automatizados.

Características Funcionales:
  • Generación programática de informes - la clase ReportBuilder proporciona el método BuildReport() para crear documentos basados en plantillas
  • Integración flexible con fuentes de datos - soporte para JSON, XML, CSV y objetos programáticos (clases personalizadas, colecciones de objetos)
  • Aplicación de expresiones LINQ para filtrado, ordenación y agrupación de datos al generar documentos
  • Configuración de parámetros de generación - la clase ReportBuilderOptions gestiona los tipos de datos disponibles, manejo de campos faltantes, eliminación de párrafos vacíos y otros parámetros de creación de informes
  • Exportación a formato gráfico - el método BuildReportToImages() devuelve las páginas del informe como un array de imágenes
  • Soporte de Fluent API para lanzar operaciones de creación de informes a través de ReportBuilderContext y encadenamiento de métodos, añadiendo claridad al código C#

Pruebe las capacidades de generación programática de informes en la demostración interactiva en línea presentada en esta página. Para ello, suba una plantilla de documento, archivo de datos (JSON, XML o CSV), ejecute la operación y descargue el documento generado para verificación. El fragmento de código C# proporcionado está completamente listo para usar en su proyecto .NET.

C#
Ejecutar código
Sube plantilla de documento
Sube archivo de datos
Selecciona el formato de salida de la lista
using Wordize.Reporting;

var dataSource = new JsonDataSource("data.json");
ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new JsonDataSource("{{input2}}"); ReportBuilder.BuildReport("{{input1}}", "{{output}}", dataSource, "{{text1}}"); using Wordize.Reporting; using Wordize.Saving; var dataSource = new JsonDataSource("{{input2}}"); var imageStreams = ReportBuilder.BuildReportToImages("{{input1}}", new ImageSaveOptions(SaveFormat.{{saveFormat}}), new[] { dataSource }, new[] { "{{text1}}" }); 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}.{{outputExt}}"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new XmlDataSource("data.json");
ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new XmlDataSource("{{input2}}"); ReportBuilder.BuildReport("{{input1}}", "{{output}}", dataSource, "{{text1}}"); using Wordize.Reporting; using Wordize.Saving; var dataSource = new XmlDataSource("{{input2}}"); var imageStreams = ReportBuilder.BuildReportToImages("{{input1}}", new ImageSaveOptions(SaveFormat.{{saveFormat}}), new[] { dataSource }, new[] { "{{text1}}" }); 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}.{{outputExt}}"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new CsvDataSource("data.json", new CsvDataLoadOptions() { HasHeaders = true });
ReportBuilder.BuildReport("Input.docx", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new CsvDataSource("{{input2}}", new CsvDataLoadOptions() { HasHeaders = true }); ReportBuilder.BuildReport("{{input1}}", "{{output}}", dataSource, "{{text1}}"); using Wordize.Reporting; using Wordize.Saving; var dataSource = new CsvDataSource("{{input2}}", new CsvDataLoadOptions() { HasHeaders = true }); var imageStreams = ReportBuilder.BuildReportToImages("{{input1}}", new ImageSaveOptions(SaveFormat.{{saveFormat}}), new[] { dataSource }, new[] { "{{text1}}" }); 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}.{{outputExt}}"); stream.CopyTo(file); }
Ejecutar código

Cómo crear informe en C#

  1. Conecte el SDK de Wordize a su proyecto .NET
  2. Cree una fuente de datos y llame al método ReportBuilder.BuildReport(), especificando en los parámetros la plantilla del documento, el archivo resultante y la fuente de datos
  3. Obtenga el documento generado
5%