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

Generate HTML from Templates using C#

Wordize for .NET is a professional solution for automated reporting and programmatic HTML generation. The ReportBuilder class provides C# developers with comprehensive capabilities for creating HTML pages using templates and LINQ syntax, helping accelerate business analytics processes, integrate dynamic HTML content with web systems and corporate portals, and streamline web content automation workflows.

Key Features:
  • Programmatic HTML generation - the ReportBuilder class provides the BuildReport() method to generate HTML documents from templates
  • Flexible data source integration - supports JSON, XML, CSV, and programmatic objects (custom classes, object collections)
  • LINQ expressions for data filtering, sorting, and grouping during HTML page generation
  • Customizable HTML generation parameters - the ReportBuilderOptions class manages available data types, missing field handling, empty paragraph removal, and other HTML document creation settings
  • Export to image format - the BuildReportToImages() method returns HTML report pages as an image array
  • Fluent API support for report generation operations through ReportBuilderContext and method chaining, enhancing C# code readability

Test the capabilities of programmatic HTML generation in the interactive online demo presented on this page. Upload a document template, load a data file (JSON, XML, or CSV), run the operation, and download the generated HTML document for review. The provided C# code snippet is fully ready for use in your .NET project to generate HTML dynamically.

C#
Run code
Upload document template
Upload data file
Select output format from the list
using Wordize.Reporting;

var dataSource = new JsonDataSource("data.json");
ReportBuilder.BuildReport("Input.html", "Output.html", dataSource, "");
using Wordize.Reporting; var dataSource = new JsonDataSource("data.json"); ReportBuilder.BuildReport("Input.html", "Output.html", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new JsonDataSource("data.json"); var imageStreams = ReportBuilder.BuildReportToImages("Input.html", new ImageSaveOptions(SaveFormat.Html), 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}.html"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new XmlDataSource("data.xml");
ReportBuilder.BuildReport("Input.html", "Output.html", dataSource, "");
using Wordize.Reporting; var dataSource = new XmlDataSource("data.xml"); ReportBuilder.BuildReport("Input.html", "Output.html", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new XmlDataSource("data.xml"); var imageStreams = ReportBuilder.BuildReportToImages("Input.html", new ImageSaveOptions(SaveFormat.Html), 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}.html"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true });
ReportBuilder.BuildReport("Input.html", "Output.html", dataSource, "");
using Wordize.Reporting; var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true }); ReportBuilder.BuildReport("Input.html", "Output.html", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true }); var imageStreams = ReportBuilder.BuildReportToImages("Input.html", new ImageSaveOptions(SaveFormat.Html), 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}.html"); stream.CopyTo(file); }
Run code

How to create HTML report in C#

  1. Connect the Wordize SDK to your .NET project
  2. Create a data source and call the ReportBuilder.BuildReport() method, specifying the HTML template, result file and data source in parameters
  3. Get the generated HTML document
5%