ScreamCode.Reporting.Admin
1.1.3
dotnet add package ScreamCode.Reporting.Admin --version 1.1.3
NuGet\Install-Package ScreamCode.Reporting.Admin -Version 1.1.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ScreamCode.Reporting.Admin" Version="1.1.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ScreamCode.Reporting.Admin" Version="1.1.3" />
<PackageReference Include="ScreamCode.Reporting.Admin" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ScreamCode.Reporting.Admin --version 1.1.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ScreamCode.Reporting.Admin, 1.1.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ScreamCode.Reporting.Admin@1.1.3
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ScreamCode.Reporting.Admin&version=1.1.3
#tool nuget:?package=ScreamCode.Reporting.Admin&version=1.1.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ScreamCode.Reporting
Build faster. Report smarter.
A modular .NET 8 reporting engine with an embedded Blazor admin portal. Add powerful reporting capabilities to any ASP.NET Core application in minutes.
🚀 Quick Start
dotnet add package ScreamCode.Reporting.Core
dotnet add package ScreamCode.Reporting.Admin
dotnet add package ScreamCode.Reporting.Pdf
dotnet add package ScreamCode.Reporting.Excel
Program.cs
builder.Services
.AddScreamReporting(builder.Configuration)
.AddPdf()
.AddExcel()
.AddBuilder()
.AddTemplates()
.AddAdmin()
.AddDataProvider<YourReportDataProvider>();
var app = builder.Build();
await app.Services.InitializeScreamReportingAsync();
await app.Services.EnsureAdminDatabaseAsync();
app.UseStaticFiles();
app.UseAntiforgery();
app.MapBlazorHub();
var adminPath = builder.Configuration["ScreamReporting:AdminPath"] ?? "reportadmin";
app.MapFallbackToPage($"/{adminPath}/{{**path}}", "/_Host");
app.MapFallbackToPage($"/{adminPath}", "/_Host");
app.Run();
appsettings.json
{
"ScreamReporting": {
"LicenseKey": "",
"ApplicationName": "YourApp",
"AdminPath": "reportadmin",
"AdminAuth": {
"Enabled": true,
"Username": "admin",
"Password": "your-password",
"SessionTimeoutMinutes": 60
},
"Pdf": {
"DefaultOrientation": "Portrait",
"TimeoutMs": 30000
}
}
}
Implement IReportDataProvider
public class OrdersDataProvider : IReportDataProvider
{
public string EntityName => "orders";
public string DisplayName => "Orders";
public IReadOnlyList<ReportColumnDefinition> AvailableColumns =>
[
new() { Name = "Id", DisplayName = "Order ID", Type = "string" },
new() { Name = "CustomerName", DisplayName = "Customer", Type = "string" },
new() { Name = "Total", DisplayName = "Total", Type = "decimal" },
new() { Name = "CreatedAt", DisplayName = "Date", Type = "datetime" }
];
public IReadOnlyList<ReportFilterDefinition> AvailableFilters =>
[
new() { Name = "CreatedAt", DisplayName = "Date", Type = "daterange" }
];
public async Task<ReportTable> GetDataAsync(ReportBuilderRequest request, CancellationToken ct = default)
{
// Return your data here
}
public async Task<int> GetCountAsync(ReportBuilderRequest request, CancellationToken ct = default)
{
// Return count here
}
}
✨ Features
| Feature | Community | Professional | Enterprise |
|---|---|---|---|
| PDF generation | ✓ | ✓ | ✓ |
| Excel export | ✓ | ✓ | ✓ |
| Report Builder | ✓ | ✓ | ✓ |
| Max reports | 10 | 30 | Unlimited |
| Max templates | 5 | 10 | Unlimited |
| HTML Templates | 1 | 5 | 10 |
| Images in reports | ✗ | ✓ | ✓ |
| Charts | ✗ | ✓ | ✓ |
| Scheduler + Email | ✗ | Max 5 | Unlimited |
| Audit Trail | ✗ | 30 days | 365 days |
| Backup / Restore | ✗ | ✓ | ✓ |
| Digital Signature | ✗ | ✗ | ✓ |
| Watermark (Community) | ✓ | ✗ | ✗ |
| Price | Free | $149 | $299 |
30-day Professional trial included. No credit card required.
🔐 Authentication
Built-in auth (recommended for quick setup)
"AdminAuth": {
"Enabled": true,
"Username": "admin",
"Password": "your-secure-password"
}
External auth (use your own ASP.NET Identity, JWT, etc.)
app.MapFallbackToPage("/reportadmin/{**path}", "/_Host")
.RequireAuthorization("AdminRole");
"AdminAuth": {
"Enabled": false,
"ExternalAuthConfigured": true
}
📦 Packages
| Package | Description |
|---|---|
ScreamCode.Reporting.Core |
Core engine, licensing, interfaces |
ScreamCode.Reporting.Admin |
Embedded Blazor admin portal |
ScreamCode.Reporting.Pdf |
PDF generation via Playwright |
ScreamCode.Reporting.Excel |
Excel (.xlsx) export |
ScreamCode.Reporting.Builder |
Dynamic report builder |
ScreamCode.Reporting.Templates |
HTML template engine |
ScreamCode.Reporting.Audit |
Audit trail (Professional+) |
ScreamCode.Reporting.Scheduler |
Report scheduling (Professional+) |
🖥️ Chromium Setup (for PDF generation)
Run once after deployment:
.\ScreamCode-Install.ps1
Or manually:
.\playwright.ps1 install chromium
🌍 Localization
Built-in: English and Bosnian. Add any language by placing a JSON file in Localization/Languages/:
publish/
└── Localization/
└── Languages/
├── en.json
├── bs.json
└── de.json ← add your language
📄 License
MIT — free to use, modify and distribute.
🔗 Links
- 🌐 Website: screamcode.com
- 📖 Docs: screamcode.com/docs/reporting
- 💰 Pricing: screamcode.com/pricing
- 📧 Support: support@screamcode.com
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.AspNetCore.Components.Web (>= 8.0.6)
- Microsoft.EntityFrameworkCore (>= 8.0.0)
- Microsoft.EntityFrameworkCore.Sqlite (>= 8.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Options (>= 8.0.2)
- ScreamCode.Reporting.Audit (>= 1.1.3)
- ScreamCode.Reporting.Builder (>= 1.1.3)
- ScreamCode.Reporting.Core (>= 1.1.3)
- ScreamCode.Reporting.Excel (>= 1.1.3)
- ScreamCode.Reporting.Pdf (>= 1.1.3)
- ScreamCode.Reporting.Scheduler (>= 1.1.3)
- ScreamCode.Reporting.Templates (>= 1.1.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.