DocWright.Reporting.Export
1.1.4
dotnet add package DocWright.Reporting.Export --version 1.1.4
NuGet\Install-Package DocWright.Reporting.Export -Version 1.1.4
<PackageReference Include="DocWright.Reporting.Export" Version="1.1.4" />
<PackageVersion Include="DocWright.Reporting.Export" Version="1.1.4" />
<PackageReference Include="DocWright.Reporting.Export" />
paket add DocWright.Reporting.Export --version 1.1.4
#r "nuget: DocWright.Reporting.Export, 1.1.4"
#:package DocWright.Reporting.Export@1.1.4
#addin nuget:?package=DocWright.Reporting.Export&version=1.1.4
#tool nuget:?package=DocWright.Reporting.Export&version=1.1.4
DocWright.Reporting.Export
File exports for DocWright reports, lowered from the paginated page model: DOCX, XLSX, CSV and plain text.
The page model is the same one that produces the PDF, the page images and the HTML projection, so every
output paginates identically. This package is the one place in the reporting stack where DocWright.Dom
appears — the DOCX export is a lowering of the page model, not a second reader.
Install
dotnet add package DocWright.Reporting.Export
Exporting
using DocWright.Reporting.Export;
using (var docx = File.Create("report.docx"))
{
ReportDocxExporter.Export(pages, fonts, docx);
}
using (var xlsx = File.Create("report.xlsx"))
{
ReportXlsxExporter.Export(pages, fonts, xlsx);
}
File.WriteAllText("report.csv", ReportCsvExporter.ToCsv(pages));
File.WriteAllText("report.txt", ReportTextExporter.ToText(pages));
Word
The default, ReportDocxLayout.Fixed, is a positioning grid — one Word section per report page at the
page's own size with no margins, holding a borderless table whose rows are the horizontal bands the items
fall into and whose columns come from the items' own edges. That is the shape Reporting Services' own Word
renderer produces, and it is what makes an absolutely positioned report survive in a format that has no
absolute positions.
Charts, gauges and barcodes reach Word as pictures, rasterized through the same lowering that draws them in
a PNG of the page. ReportDocxLayout.Flow writes flowing paragraphs instead, for a document that is going
to be rewritten. ReportDocxExporter.ToDocument returns the WordDocument for a caller that wants to edit
it first.
Excel
The data as data: a textbox whose value is a number becomes a numeric cell, with the report's format
translated into an Excel format code, so the column sums. One sheet holds the whole report by default, as
Reporting Services' own Excel renderer does; ReportXlsxSheets.PerPage gives a sheet per page instead.
Rows and columns are the same band-and-edge grid the Word export recovers, toggles become the row outline,
and charts, gauges and barcodes reach Excel as anchored pictures. ReportXlsxExporter.ToWorkbook returns
the XlsxWorkbook for a caller that wants to change it first; the workbook writer underneath is
DocWright.Formats.Xlsx.
CSV and text
CSV is the data, not a picture of the page: one record per data-region row, one field per column, quoted per RFC 4180 §2, with a row a page break split written once. Plain text is the lines of every textbox in reading order, banded so that a tablix row reads as one line.
Reporting Services' local rendering mode refuses Render("CSV"), so neither format has a headless oracle;
their rules are DocWright's, stated in
in the DocWright documentation and gated by direct tests.
Requirements
.NET Framework 4.8, .NET Standard 2.0, .NET 8.0 or .NET 10.0. Depends on DocWright.Reporting and on
the DocWright packages it exports through: DocWright.Formats.Docx, DocWright.Formats.Xlsx and
DocWright.Renderers.Imaging.
Documentation
📖 DocWright documentation ·
Tutorial: run an SSRS report and export it ·
API reference: DocWright.Reporting.Export
Contact
Questions, support or licensing: salwan@albahadly.com · www.albahadly.com
License
MIT. See LICENSE and THIRD-PARTY-NOTICES.md in the package.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 is compatible. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.8
- DocWright.Core (>= 1.1.4)
- DocWright.Dom (>= 1.1.4)
- DocWright.Fonts (>= 1.1.4)
- DocWright.Formats.Docx (>= 1.1.4)
- DocWright.Formats.Xlsx (>= 1.1.4)
- DocWright.Renderers.Imaging (>= 1.1.4)
- DocWright.Reporting (>= 1.1.4)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
.NETStandard 2.0
- DocWright.Core (>= 1.1.4)
- DocWright.Dom (>= 1.1.4)
- DocWright.Fonts (>= 1.1.4)
- DocWright.Formats.Docx (>= 1.1.4)
- DocWright.Formats.Xlsx (>= 1.1.4)
- DocWright.Renderers.Imaging (>= 1.1.4)
- DocWright.Reporting (>= 1.1.4)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- System.Buffers (>= 4.6.1)
- System.Memory (>= 4.6.3)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net10.0
- DocWright.Core (>= 1.1.4)
- DocWright.Dom (>= 1.1.4)
- DocWright.Fonts (>= 1.1.4)
- DocWright.Formats.Docx (>= 1.1.4)
- DocWright.Formats.Xlsx (>= 1.1.4)
- DocWright.Renderers.Imaging (>= 1.1.4)
- DocWright.Reporting (>= 1.1.4)
-
net8.0
- DocWright.Core (>= 1.1.4)
- DocWright.Dom (>= 1.1.4)
- DocWright.Fonts (>= 1.1.4)
- DocWright.Formats.Docx (>= 1.1.4)
- DocWright.Formats.Xlsx (>= 1.1.4)
- DocWright.Renderers.Imaging (>= 1.1.4)
- DocWright.Reporting (>= 1.1.4)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Guides, tutorials and API reference: https://docs.albahadly.com/docwright/