· 8 min read

Blazor DataGrid with Sorting, Filtering, Excel Export — 2026 Guide

Build enterprise data grids in Blazor with Arcadia DataGrid. Multi-sort, quick filter, batch editing, virtual scrolling, Excel export, and 6 themes. $299/dev/year — 70% cheaper than Syncfusion.

blazordatagriddata gridsortingfilteringexcel exportaffordablec#

Blazor DataGrid — Sorting, Filtering, Excel Export

Need a production-grade Blazor DataGrid that handles sorting, filtering, editing, and Excel export without breaking the budget? Arcadia DataGrid is $299/dev/year — 70% cheaper than Syncfusion ($995+) and Telerik ($999+), with comparable features.

Why Arcadia DataGrid?

Most Blazor data grid options force a tradeoff:

  1. Free but limited (MudBlazor, Radzen Community) — no virtual scrolling at scale, no built-in Excel export, basic column features
  2. Full-featured but expensive (Syncfusion, Telerik) — $995+/year per developer, JS-heavy, complex licensing

Arcadia DataGrid gives you AG Grid’s full power through a native Blazor API — multi-sort, quick filter, batch editing, virtual scrolling for 100K+ rows, one-click Excel export — all in the free Community Edition.

Quick Start (2 Minutes)

dotnet add package Arcadia.DataGrid
dotnet add package Arcadia.Theme

Add CSS to your App.razor:

<link href="_content/Arcadia.Theme/css/arcadia.css" rel="stylesheet" />
<link href="_content/Arcadia.DataGrid/css/arcadia-datagrid.css" rel="stylesheet" />

Drop in a grid:

@using Arcadia.DataGrid.Components

<ArcadiaDataGrid TItem="Employee"
                 Items="@employees"
                 Sortable="true"
                 Filterable="true"
                 Pagination="true"
                 PageSize="25">
    <ArcadiaGridColumn Field="@nameof(Employee.Name)" Header="Name" Sortable="true" />
    <ArcadiaGridColumn Field="@nameof(Employee.Department)" Header="Department" Filterable="true" />
    <ArcadiaGridColumn Field="@nameof(Employee.Salary)" Header="Salary" Format="C0" />
    <ArcadiaGridColumn Field="@nameof(Employee.StartDate)" Header="Start Date" Format="d" />
</ArcadiaDataGrid>

@code {
    private List<Employee> employees = new();

    protected override async Task OnInitializedAsync()
    {
        employees = await EmployeeService.GetAllAsync();
    }
}

That’s it. No JavaScript imports, no npm, no webpack.

Multi-Sort and Quick Filter

Enable multi-column sorting with shift-click and a global quick filter that searches all columns:

<ArcadiaDataGrid TItem="Product"
                 Items="@products"
                 MultiSort="true"
                 QuickFilter="true"
                 QuickFilterPlaceholder="Search products...">
    <ArcadiaGridColumn Field="@nameof(Product.Sku)" Header="SKU" />
    <ArcadiaGridColumn Field="@nameof(Product.Name)" Header="Product" />
    <ArcadiaGridColumn Field="@nameof(Product.Category)" Header="Category"
                       FilterType="FilterType.Set" />
    <ArcadiaGridColumn Field="@nameof(Product.Price)" Header="Price" Format="C2" />
</ArcadiaDataGrid>

Batch Editing with Undo

Enable inline editing with batch save and undo support:

<ArcadiaDataGrid TItem="Order"
                 Items="@orders"
                 Editable="true"
                 EditMode="EditMode.Batch"
                 OnBatchSave="HandleBatchSave">
    <ArcadiaGridColumn Field="@nameof(Order.Status)" Header="Status"
                       EditType="EditType.Select"
                       EditOptions="@statusOptions" />
    <ArcadiaGridColumn Field="@nameof(Order.Quantity)" Header="Qty"
                       EditType="EditType.Number" />
</ArcadiaDataGrid>

@code {
    private async Task HandleBatchSave(BatchSaveEventArgs<Order> args)
    {
        await OrderService.UpdateBatchAsync(args.ChangedItems);
    }
}

Excel Export (One Line)

<ArcadiaDataGrid @ref="grid" TItem="Employee" Items="@employees">
    <!-- columns -->
</ArcadiaDataGrid>
<button @onclick="() => grid.ExportToExcelAsync()">Export to Excel</button>

How It Compares

ArcadiaMudBlazorRadzenSyncfusionTelerik
Price$299/dev/yrFree (MIT)Free tier$995+/year$999+/year
Virtual scroll100K+ rowsLimitedYesYesYes
Multi-sortYesNoYesYesYes
Quick filterYesNoNoYesYes
Batch editingYesNoNoYesYes
Excel exportBuilt-inNoPro onlyYesYes
Column pinningYesNoYesYesYes
Row groupingYesNoYesYesYes
6 ThemesYes12YesYes
Bundle size~180 KB~2 MB~1.5 MB~3 MB~4 MB
SSR friendlyYesPartialPartialJS hydrationJS hydration

Features at a Glance

Try It

dotnet add package Arcadia.DataGrid

The DataGrid is free in the Community Edition. No Pro license needed, no watermark, no feature gating.

Ready to try Arcadia?

Start with the free Community edition — 4 chart types, sparklines, notifications, and a full theme engine.