Rapid.SmartReport.Core
1.0.9
dotnet add package Rapid.SmartReport.Core --version 1.0.9
NuGet\Install-Package Rapid.SmartReport.Core -Version 1.0.9
<PackageReference Include="Rapid.SmartReport.Core" Version="1.0.9" />
paket add Rapid.SmartReport.Core --version 1.0.9
#r "nuget: Rapid.SmartReport.Core, 1.0.9"
// Install Rapid.SmartReport.Core as a Cake Addin #addin nuget:?package=Rapid.SmartReport.Core&version=1.0.9 // Install Rapid.SmartReport.Core as a Cake Tool #tool nuget:?package=Rapid.SmartReport.Core&version=1.0.9
Rapid.SmartReport
A modern, flexible, and easy-to-use reporting library for .NET 9 applications.
Repository
Find the examples and documentation at: https://github.com/MohanedGhawar2019/Rapid.SmartReport.Examples
Features
📊 Rich Components
- Tables with advanced features:
- Sorting by any column (ascending/descending)
- Pagination with configurable page sizes (10, 25, 50, 100)
- Case-insensitive filtering across all columns
- Custom styling and formatting
- Charts (Bar, Line, Pie) with customizable options
- Headers and footers
- Custom sections and layouts
- Tables with advanced features:
📤 Multiple Export Formats
- PDF with high-quality rendering
- Excel with native charts and tables
- More formats coming soon (HTML, CSV)
🎨 Customization
- Built-in modern themes
- Custom templates
- Flexible styling system
- Custom layouts and sections
âš¡ Performance
- Optimized for large datasets
- Async/await support
- Compiled expressions for data access
🔧 Integration
- Blazor components for web applications
- ASP.NET Core support
- Clean fluent API
Package Structure
Rapid.SmartReport is distributed as two separate NuGet packages:
1. Rapid.SmartReport.Core
The core package containing all essential reporting functionality:
- PDF and Excel export capabilities
- Report template engine
- Data processing and rendering
- Basic report generation APIs
Use this package when:
- Working with ASP.NET Core applications
- Generating reports server-side
- Need only the core reporting functionality
- Don't require UI components
2. Rapid.SmartReport.Blazor
Additional package for Blazor-specific features:
- Interactive report viewers
- Blazor components for report display
- Real-time preview capabilities
- UI components for report customization
Use this package when:
- Building Blazor applications
- Need interactive report viewing in the browser
- Want to use pre-built UI components
- Require client-side report preview
Installation
Choose the appropriate package(s) based on your needs:
# For ASP.NET Core applications (server-side reporting)
dotnet add package Rapid.SmartReport.Core
# For Blazor applications (includes UI components)
dotnet add package Rapid.SmartReport.Core # Required base package
dotnet add package Rapid.SmartReport.Blazor # Additional Blazor components
Quick Start
Basic Report
// Create a simple report
var report = Report<SalesData>.Create()
.WithTitle("Sales Report")
.WithData(salesData)
.ExportToPdfAsync();
Custom Template
// Create a report with custom template
var report = Report<SalesData>.Create()
.UseTemplate("templates/sales-report.html")
.WithStyles("templates/custom-style.css")
.WithData(salesData)
.ExportToPdfAsync();
Tables and Charts
// Create a report with tables and charts
var report = Report<SalesData>.Create()
.WithTitle("Monthly Sales Report")
.WithData(salesData)
.AddTable(table => table
.AddColumn(x => x.Date, "Date")
.AddColumn(x => x.Product, "Product")
.AddColumn(x => x.Amount, "Amount", "C2")
.WithSorting(sort => sort
.By(x => x.Amount)
.Direction(SortDirection.Descending))
.WithPagination(page => page
.PageSize(25)
.CurrentPage(1))
.WithFilter("Product"))
.AddChart(chart => chart
.WithTitle("Sales by Product")
.WithLabels(x => x.Product)
.WithValues(x => x.Amount))
.ExportToPdfAsync();
Blazor Integration
<ReportViewer Report="@report" />
<ReportTable Data="@salesData"
TItem="SalesData"
Style="@tableStyle"
Sortable="true"
PageSize="25"
EnableFilter="true" />
<ReportChart Data="@salesData"
TItem="SalesData"
Type="ChartType.Bar"
Labels="x => x.Product"
Values="x => x.Amount" />
Configuration
Paper Size and Orientation
var report = Report<SalesData>.Create()
.WithConfiguration(config => config
.SetPaperSize(PaperSize.A4)
.SetOrientation(Orientation.Landscape))
.ExportToPdfAsync();
Themes
var report = Report<SalesData>.Create()
.WithConfiguration(config => config
.UseTheme(ReportTheme.Modern)
.SetColors(new[] { "#007bff", "#28a745", "#dc3545" }))
.ExportToPdfAsync();
Contributing
We welcome contributions! Please see our Contributing Guidelines for details.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. |
-
net9.0
- EPPlus (>= 7.5.2)
- Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation (>= 9.0.0)
- Microsoft.AspNetCore.Razor.Runtime (>= 2.2.0)
- System.Linq.Dynamic.Core (>= 1.5.1)
- System.Text.Json (>= 9.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Rapid.SmartReport.Core:
Package | Downloads |
---|---|
Rapid.SmartReport.Blazor
Blazor components for the Rapid.SmartReport library, providing interactive report viewing and editing capabilities. |
GitHub repositories
This package is not used by any popular GitHub repositories.