The spreadsheet engine parsed typed input with the invariant culture while displaying values with the current culture, breaking the edit round-trip on non-en-US hosts and making comma-decimal entry (10,50) impossible. Workbook gains a Culture property (defaults to CurrentCulture) which the component stamps from its inherited Culture parameter. It drives: - Cell input parsing (CellData type inference), including day-month date handling for cultures where the group and date separators collide (de-DE) - Edit text and display rendering (GetValue, GetValueAsString, GetDisplayText) - Number format rendering - format codes stay canonical invariant tokens while separators, month names, and AM/PM designators follow the culture - Formula entry and display via the new FormulaLocalizer (Excel FormulaLocal semantics: ';' argument separators and ',' decimals in comma-decimal cultures, lenient comma acceptance where unambiguous, canonical invariant storage) - Dialog input (data validation, conditional format, filter) via shared conversion helpers on SpreadsheetDialogBase XLSX and CSV files read and write canonical invariant values regardless of the workbook culture, including autofit column widths. Malformed formulas now surface as error trees instead of an unhandled lexer exception. Number format parsing is cached (hard-bounded) since CellView reparsed per render. Includes localization demos for the Spreadsheet and Document Processing sections and culture test suites. Note: headless code on non-en-US hosts now parses string values with the host culture; set Workbook.Culture explicitly (or to InvariantCulture) for host-independent processing.
Radzen Blazor Components
The most sophisticated free UI component library for Blazor, featuring 145+ native components. MIT licensed, used by thousands of developers at companies like Microsoft, NASA, Porsche, Dell, Siemens, and DHL.
Supports .NET 10, Blazor Server, Blazor WebAssembly, and .NET MAUI Blazor Hybrid.
Online Demos · Documentation · Get Started
Star this repo ⭐ to support the project and help other Blazor developers discover it.
Quick start
Install the NuGet package:
dotnet add package Radzen.Blazor
Add to _Imports.razor:
@using Radzen
@using Radzen.Blazor
Add the theme and script to App.razor:
<!-- inside <head> -->
<RadzenTheme Theme="material" />
<!-- after the last <script> -->
<script src="_content/Radzen.Blazor/Radzen.Blazor.js"></script>
Register services in Program.cs:
builder.Services.AddRadzenComponents();
Use a component:
<RadzenButton Text="Hello World" Click="@OnClick" />
For the full setup guide including render modes and dialog/notification configuration, see the getting started instructions.
Components
AI — AIChat, Chat, Markdown, SpeechToTextButton
Data — DataGrid, DataList, PivotDataGrid, DataFilter, PickList, Pager, Tree, Scheduler, Gantt, Timeline, Spreadsheet, Charts (Line, Bar, Column, Area, Pie, Donut, Scatter, Bubble, Spider/Radar, BoxPlot, Bullet, Candlestick, OHLC, Pyramid, Funnel, Waterfall, HighLow, Range Area/Bar/Column, Step Line/Area, Stacked & Full-Stacked variants, Contour), Heatmap, Treemap, RangeNavigator, SankeyDiagram, GaugeCharts (Radial, Linear, Arc)
Forms — TextBox, TextArea, Password, Numeric, Mask, DatePicker, TimePicker, ColorPicker, Dropdown, AutoComplete, ListBox, CheckBox, RadioButtonList, Switch, Slider, Rating, FileInput, Upload, SecurityCode, SignaturePad, HtmlEditor, Button, SplitButton, Login
Layout — Card, Panel, Tabs, Accordion, Splitter, Tile Layout, Steps, Dialog, Fieldset, Stack, Row/Column, Sidebar, Carousel
Navigation — Menu, ContextMenu, PanelMenu, Breadcrumb, Link, TreeView, FabMenu, ProfileMenu
Feedback — Notification, Alert, ProgressBar, Badge, Tooltip, Skeleton, Chip, ChipList, AppearanceToggle
Utility — QRCode, Barcode, Gravatar, GoogleMap, DropZone (drag-and-drop)
Theming — 10 built-in themes with light and dark variants. Free themes: Material, Standard, Default, Humanistic, Software. Premium themes (included with Radzen Blazor Pro): Material 3, Fluent. Full CSS variable customization and a built-in theme service for runtime switching.
Browse all components with live demos →
Why choose Radzen Blazor Components?
✨ Free and open source
MIT licensed and free for commercial use. No per-developer fees, no runtime royalties. Install from NuGet or build from source.
💻 100% native Blazor
Written entirely in C#. No JavaScript framework dependencies, no wrappers.
🌱 Actively maintained
Frequent releases with new components and features. Short development cycle — we ship as soon as new features are ready instead of batching into quarterly releases.
🏢 Trusted in production
Used by developers at Microsoft, NASA, Porsche, Dell, Siemens, Nokia, DHL, HSBC, Allianz, Accenture, Deloitte, and thousands of other organizations worldwide.
Support
💬 Community Support
Visit the Radzen Community forum — 400+ active weekly users with an average response time of 2 hours.
🎯 Radzen Blazor Pro
For dedicated support and additional productivity tools, the Radzen Blazor Pro subscription includes:
- Radzen Blazor Studio — standalone Blazor IDE that provides WYSIWYG design canvas, database scaffolding, CRUD wizards, app templates, and deployment to IIS/Azure
- Radzen Blazor for Visual Studio — Blazor tooling integrated into Visual Studio 2026
- Radzen Blazor MCP — cloud-hosted MCP server that gives AI coding assistants (Cursor, Claude Code, GitHub Copilot, VS Code, Visual Studio, JetBrains) real-time access to Radzen component docs, APIs, and ready-made templates
- Premium themes and theme customization tools
- Dedicated support with guaranteed 24-hour response time and priority fixes
Run demos locally
Use Radzen.Server.sln to open and run demos as Blazor server application or Radzen.WebAssembly.sln to open and run demos as Blazor WebAssembly application. The demos require the .NET 10 SDK and should preferably be opened in VS2026.
