ScreamCode.Reporting.Excel
1.1.3
dotnet add package ScreamCode.Reporting.Excel --version 1.1.3
NuGet\Install-Package ScreamCode.Reporting.Excel -Version 1.1.3
<PackageReference Include="ScreamCode.Reporting.Excel" Version="1.1.3" />
<PackageVersion Include="ScreamCode.Reporting.Excel" Version="1.1.3" />
<PackageReference Include="ScreamCode.Reporting.Excel" />
paket add ScreamCode.Reporting.Excel --version 1.1.3
#r "nuget: ScreamCode.Reporting.Excel, 1.1.3"
#:package ScreamCode.Reporting.Excel@1.1.3
#addin nuget:?package=ScreamCode.Reporting.Excel&version=1.1.3
#tool nuget:?package=ScreamCode.Reporting.Excel&version=1.1.3
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. |
-
net8.0
- ClosedXML (>= 0.105.0)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Options (>= 8.0.0)
- ScreamCode.Reporting.Core (>= 1.1.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on ScreamCode.Reporting.Excel:
| Package | Downloads |
|---|---|
|
ScreamCode.Reporting.Admin
Embedded admin portal for ScreamCode.Reporting — a full-featured Blazor Server admin UI accessible at /reportadmin. Manage reports, templates, images, schedules, audit trail, backup and license from one portal. |
GitHub repositories
This package is not used by any popular GitHub repositories.