SplatDev.Content
1.0.2
dotnet add package SplatDev.Content --version 1.0.2
NuGet\Install-Package SplatDev.Content -Version 1.0.2
<PackageReference Include="SplatDev.Content" Version="1.0.2" />
<PackageVersion Include="SplatDev.Content" Version="1.0.2" />
<PackageReference Include="SplatDev.Content" />
paket add SplatDev.Content --version 1.0.2
#r "nuget: SplatDev.Content, 1.0.2"
#:package SplatDev.Content@1.0.2
#addin nuget:?package=SplatDev.Content&version=1.0.2
#tool nuget:?package=SplatDev.Content&version=1.0.2
SplatDev.Content
Content helper utilities for .NET applications — Excel import/export, CSV parsing, QR code generation, encryption/decryption, ISO 3166 country data with 240+ countries, timezone data, string helpers, and validation models.
Compatibility
| .NET | Umbraco | Package Version |
|---|---|---|
| 8.0 | 13 | 1.0.0 |
| 10.0 | 17 | 1.0.0 |
Installation
dotnet add package SplatDev.Content
Configuration
Excel Import/Export (EPPlus)
using SplatDev.Content;
// Export a collection to Excel
var data = GetProducts();
var excelBytes = ExcelImporterHelpers.ExportToExcel(data, "Products");
// Import Excel data into a list
using var stream = File.OpenRead("products.xlsx");
var products = ExcelImporterHelpers.ImportFromExcel<Product>(stream);
CSV Parsing
using SplatDev.Content;
// Parse CSV data from a string or stream
var records = CsvHelpers.Parse<Customer>(csvData);
var csvOutput = CsvHelpers.Serialize(records);
QR Code Generation
using SplatDev.Content;
// Generate a QR code as a byte array (PNG)
var qrBytes = QRHelpers.GenerateQrCode("https://example.com", width: 300, height: 300);
File.WriteAllBytes("qrcode.png", qrBytes);
Encryption & Decryption
using SplatDev.Content;
var encrypted = EncrypDecryptHelpers.Encrypt("sensitive data", "my-secret-key");
var decrypted = EncrypDecryptHelpers.Decrypt(encrypted, "my-secret-key");
Country & Timezone Data
using SplatDev.Content;
// Look up a country by ISO 3166 code
var country = CountryHelpers.GetByCode("BR"); // Brazil
var name = Countries.Brazil.ToString(); // "Brazil"
var isoCountry = Iso3166Countries.GetByAlpha2("US"); // ISO3166Country object
// Access timezone information
var timezones = TimeZones.GetAll();
var brasiliaTz = TimeZones.GetByIanaId("America/Sao_Paulo");
Features
- Excel import/export via EPPlus — supports
DataTable,List<T>, and streams - CSV parsing and serialization with header mapping
- QR code generation with configurable dimensions
- Symmetric encryption and decryption for sensitive data
- Complete ISO 3166 country data: 240+ countries with alpha-2, alpha-3, numeric codes, capitals, and continents
Countriesenum (240+ entries) for compile-time country referencesISO3166Countrymodel with full metadata (name, codes, continent, currency)Iso3166Countriesstatic lookup by code, name, or regionTimeZonesclass providing IANA timezone IDs with UTC offsets- String extension helpers: truncation, slug generation, HTML sanitization
- Validation models for common input types (email, phone, URL, etc.)
Key Classes
| Class | Purpose |
|---|---|
ExcelImporterHelpers |
Import/export Excel files using EPPlus |
CsvHelpers |
Parse and serialize CSV data |
QRHelpers |
Generate QR codes as byte arrays |
EncrypDecryptHelpers |
Symmetric string encryption and decryption |
CountryHelpers |
Country lookup by code or name |
ISO3166Country |
Model representing an ISO 3166 country |
Countries |
Enum with 240+ country entries |
Iso3166Countries |
Static lookup for ISO 3166 country data |
TimeZones |
IANA timezone data with UTC offsets |
Dependencies
| Package | Version | Purpose |
|---|---|---|
EPPlus |
7.6.1 | Excel file reading and writing |
Microsoft.AspNetCore.Http |
2.2.0 | HTTP context abstractions for file handling |
SplatDev.Content — part of the SplatDev.Umbraco.Plugins suite. Licensed under MIT. © SplatDev Ltda.
Changelog
1.0.2 — 2026-08-24
Removes a dashboard screenshot that showed an error toast. It was captured against a site where this plugin's API was unreachable, so it advertised a broken dashboard. No screenshot is better than a misleading one; a replacement will be taken against a working install.
1.0.1 — 2026-08-24
Package metadata only: the listing now carries an icon and search tags, and the project and repository links point at the organisation that actually hosts this code. No code changes.
1.0.0 — 2026-08-24
This package now keeps a changelog. Earlier releases predate it and are not reconstructed here — consult the repository history for those. From this version on, every release records what changed for someone using it.
| 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 is compatible. 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. |
-
net10.0
- EPPlus (>= 7.6.1)
- Microsoft.AspNetCore.Http (>= 2.2.0)
-
net8.0
- EPPlus (>= 7.6.1)
- Microsoft.AspNetCore.Http (>= 2.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.2 | 48 | 8/24/2026 |