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                
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="Rapid.SmartReport.Core" Version="1.0.9" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Rapid.SmartReport.Core --version 1.0.9                
#r "nuget: Rapid.SmartReport.Core, 1.0.9"                
#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.
// 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
  • 📤 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 Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.

Version Downloads Last updated
1.0.9 1,773 12/17/2024
1.0.8 68 12/17/2024
1.0.7 64 12/17/2024
1.0.6 75 12/17/2024
1.0.5 76 12/17/2024