Wordize for .NET to profesjonalne rozwiązanie do automatyzacji raportowania i programowego generowania dokumentów Word. Klasa ReportBuilder zapewnia programistom C# możliwość tworzenia raportów Word przy użyciu szablonów i składni LINQ, co pomoże przyspieszyć procesy analizy biznesowej, wdrożyć dynamiczny content w zautomatyzowany obieg dokumentów.
Możliwości funkcjonalne:LINQ Reporting zapewnia tworzenie profesjonalnych dokumentów Word z obsługą złożonego formatowania, tabel i wykresów. Pliki Word zachowują możliwość późniejszej edycji, co czyni je idealnymi do dokumentacji korporacyjnej, umów i specyfikacji technicznych.
Przetestuj możliwości programowego generowania raportów Word w interaktywnej demonstracji online przedstawionej na tej stronie. W tym celu prześlij szablon dokumentu, plik z danymi (JSON, XML lub CSV), uruchom operację i pobierz wygenerowany dokument Word do weryfikacji. Przedstawiony fragment kodu C# jest w pełni gotowy do użycia w Twoim projekcie .NET.
using Wordize.Reporting;
var dataSource = new JsonDataSource("data.json");
ReportBuilder.BuildReport("Input.docx", "Output.docx", 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.docx", 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.docx", 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);
}