Introduction to ReportWright
ReportWright puts SQL Server Reporting Services reports into a .NET application without a report server: a Blazor viewer, a Blazor designer, data providers that keep secrets on the server, and an ASP.NET Core host with a REST API. The engine that reads, runs, paginates and renders the reports is DocWright's reporting family; ReportWright never re-implements it.
What it does
- Opens the files you have. RDL 2008, 2010 and 2016 and
.rdlc, read losslessly and saved back in their own schema version. A report authored in Report Builder keeps every element ReportWright does not understand. - Shows them. The
ReportViewercomponent in Blazor Server or WebAssembly, with parameters, toggles, interactive sort, drillthrough, bookmarks, document map, search, print and export. A REST API serves the same pages as HTML fragments to any client. - Edits them. The
ReportDesignercomponent: textboxes, rectangles, lines, images and subreports; tables, matrices and lists with groups, totals and cell formatting; charts, sparklines, data bars, gauges, indicators and barcodes; a property grid and an expression editor. Every edit is one undo entry. - Feeds them. CSV, JSON file, REST JSON, XML, SQL Server and
System.Dataproviders behind a host-owned resolver, so a report names a data source and the host says what it is. - Exports them. PDF, PDF/A, PNG, JPEG, DOCX, XLSX, CSV and text, from the viewer, from one REST call, or from a console program.
What it is built on
Every ReportWright package pins one version of the DocWright engine packages (DocWright.Reporting, .Rdl, .Viewer, .Export) from nuget.org. What a report may contain and how it renders is the engine's decision; What ReportWright supports lists what the pinned version draws and where it leaves a gap you will notice.
Where to go next
- Choose your packages, then install.
- Embed the viewer in a page, embed the designer, or export without a browser.
- The guides cover hosting, data providers, security, the designer's rules and migrating from Reporting Services.