Repository navigation
Home
Welcome to the Majorsilence Reporting (formerly My-FyiReporting) wiki.
Majorsilence Reporting is a powerful, open-source .NET reporting framework for creating, designing, and delivering rich reports. Supporting .NET 8.0 and 10.0, it provides a flexible platform for building reports from a variety of data sources. With a drag-and-drop designer, multiple viewer options, and cross-platform rendering via SkiaSharp, it suits both desktop and web applications.
The core engine supports Linux and macOS for server-side report generation. The WinForms designer and viewer are Windows-only but there is a cross platform avalonia viewer.
- Main project page
- Active project? Yes, still maintained as of 2026.
- Licence — free for commercial use (Apache 2.0)
- Support: Google Group · GitHub Discussions
using Majorsilence.Reporting.Rdl;
// One time per app instance
RdlEngineConfig.RdlEngineConfigInit();
var rdlp = new RDLParser(await File.ReadAllTextAsync("report.rdl"))
{
Folder = @"C:\reports"
};
using var report = await rdlp.Parse();
await report.RunGetData();
var ofs = new OneFileStreamGen("output.pdf", true);
await report.RunRender(ofs, OutputPresentationType.PDF);- All output formats — PDF, Excel, CSV, HTML, RTF, TIFF
- Downloads and NuGet packages
- Migrating from v4? See the migration guide
- New here? See Getting Started — Choose Your Path
-
Database Providers — overview and RdlEngineConfigInit
- JSON Data Provider
- PostgreSQL
- Microsoft SQL Server
- MySQL
- OLEDB and Microsoft Access (Windows only)
- Microsoft SQL Compact Edition (legacy v4 only)
- Create a New Report
- Designer Basics
- Page Layout — size, orientation, margins
- Page Headers, Footers, and Page Numbers
- Data Regions — Table, List, and Matrix
- Expressions and Formulas
- Grouping, Sorting, and Aggregates
- Charts
- Conditional Formatting
- Images in Reports
- Barcodes and QR Codes
- Adding a Column to a Report
- Running the Designer on Linux (via Wine)
- Screenshots
| Viewer | Platform | Notes |
|---|---|---|
| WinForms | Windows | Full-featured desktop viewer |
| WPF | Windows | XAML-based viewer |
| Avalonia | Windows / Linux / macOS | Cross-platform — recommended for new projects |
| GTK# | Linux / macOS | GTK 3 desktop viewer |
- Viewer Toolbar Control
- Report Viewer Events
- Hyperlink Custom Actions
- Set Connection String at Runtime
- Embed the Designer Window in Your App
- Embed the Designer as a Control
- Export to PDF, Excel, CSV, HTML, RTF, TIFF (no GUI)
- Stream reports to HTTP responses — ASP.NET Core
- ASP.NET Core MVC integration
- Output Formats reference
- Error Handling
- Troubleshooting
- Report Parameters
- Pass a DataTable from .NET
- Change SQL query from code
- Pass an Image to a Report
- Sub-reports
- Drill-through Reports
- Advanced Data Sources and Output Targets — loading RDL from databases/memory, reusing connections, custom IStreamGen targets
- Programmatic Report Creation (code-first)
- Programmatic PDF Document Creation
- Majorsilence.Pdf — standalone low-level PDF library
- Web Designer
- Docker Deployment
- Linux — Fonts and SkiaSharp setup
- Localization
- RdlCmd — batch export from the command line
- Calling RdlReader.exe as a system command
- PHP — Generate Reports via RdlCmd
- Python — Generate Reports via RdlCmd
- Ruby — Generate Reports via RdlCmd
These pages describe the main branch, which becomes the 27.x release. They do not apply to the
current 26.x packages above. In 27.x the viewer and designer are Majorsilence.Forms controls that run on
Windows, Linux and macOS, and LibRdlWpfViewer is retired.
- Hosting the viewer and designer in WinForms, WPF, Avalonia, Uno, GTK 4 or a terminal
- Native AOT and trimming — what works, what to register, what is unsupported
These pages cover features available only on the v4 branch (.NET Framework 4.x).