🎯 Why Modern Applications Need a Document ↔ JSON Engine
| Business Pain | What Happens Without Sheetize |
|---|---|
| Fragmented Data Sources | Spreadsheets, e‑books, and HTML reports sit in silos; every integration requires custom parsers. |
| Manual Export/Import | Teams copy‑paste tables from Excel to JSON editors, introducing errors and consuming valuable time. |
| Inconsistent Metadata | Metadata (author, version, tags) gets lost when moving between formats, breaking audits and compliance. |
| Scalability Bottlenecks | Ad‑hoc scripts cannot keep up with high‑volume batch jobs (thousands of files per night). |
Solution: Sheetize JSON Converter for .NET – a single, royalty‑free library that preserves structure, metadata, and media while moving data between JSON and any of the following document formats:
- Spreadsheets: Xlsx, Xlsb, Xlsm, Xltm, Xlam, Excel97To2003, Excel95, SpreadsheetML, Xlt, Csv, Tsv, SqlScript, Dif
- E‑books & Markup: Epub, Azw3, Html, MHtml, Xml
- Other: Json (round‑trip)
All conversions are performed with zero‑pain code and full .NET Core/Framework compatibility.
🚀 Core Benefits at a Glance
| Feature | Benefit |
|---|---|
| One‑Click Document → JSON | Export any supported document to a clean, schema‑friendly JSON payload (perfect for APIs, data lakes, and analytics). |
| JSON → Document | Generate native XLSX, CSV, HTML, EPUB, etc., directly from JSON – ideal for report rendering and e‑book creation. |
| Cross‑Platform | Works on .NET 8, .NET Framework 4.x, Azure Functions, AWS Lambda, and on‑prem servers. |
| Metadata Preservation | Titles, authors, custom properties, and embedded images travel with the conversion unchanged. |
| Transparent Licensing | Perpetual runtime license, free updates, no per‑seat fees. |
| Streaming API | Convert using streams to eliminate temporary files and scale to millions of files per day. |
📄 Converting a Spreadsheet → JSON – 5‑Line Sample
using Sheetize;
// 1️⃣ Load the license (free trial license – no credit‑card required)
var license = new Sheetize.License();
license.SetLicense(@"C:\Sheetize.JsonConverter_for_.NET.lic");
// 2️⃣ Define input (any spreadsheet format)
var loadOpts = new LoadOptions
{
InputFile = @"C:\Data\SalesReport.xlsx"
};
// 3️⃣ Define JSON output options
var saveOpts = new JsonSaveOptions
{
OutputFile = @"C:\Exports\SalesReport.json"
};
// 4️⃣ Execute conversion
JsonConverter.Process(loadOpts, saveOpts);
Console.WriteLine("✅ Spreadsheet exported to JSON.");
Result: A well‑structured JSON document where each worksheet becomes an array of row objects, preserving cell types, formulas (as strings), and embedded images encoded in Base‑64.
📦 Converting JSON → Document (e.g., JSON → XLSX) – 5‑Line Sample
using Sheetize;
// License
var license = new Sheetize.License();
license.SetLicense(@"C:\Sheetize.JsonConverter_for_.NET.lic");
// Load JSON source (could be a stream, a string, or a file)
var loadOpts = new LoadOptions
{
InputFile = @"C:\Exports\SalesReport.json"
};
// Choose the target document format – here we generate XLSX
var saveOpts = new SaveOptions
{
OutputFile = @"C:\Results\SalesReport_FromJson.xlsx",
SaveFormat = FileFormatType.Xlsx // any supported format (Csv, Html, Epub, …)
};
JsonConverter.Process(loadOpts, saveOpts);
Console.WriteLine("✅ JSON imported into native XLSX workbook.");
Result: A fully‑editable workbook where each top‑level JSON array becomes a worksheet, column names become headers, and any Base‑64 images are re‑embedded as picture objects.
Tip: Swap
FileFormatType.XlsxforFileFormatType.Csv,FileFormatType.Epub,FileFormatType.Html, etc., to generate the format you need.
🛡️ Robust Error Handling & Validation
The following pattern guarantees that at least one side of the conversion is JSON and validates both source and target extensions before invoking the library.
using Sheetize;
using System;
using System.IO;
using System.Linq;
try
{
// 1️⃣ License validation
var license = new Sheetize.License();
license.SetLicense(@"C:\Licenses\Sheetize.JsonConverter_for_.NET.lic");
// 2️⃣ Input & output paths (replace with your own)
string inputPath = @"C:\Input\Report.epub";
string outputPath = @"C:\Output\Report.json";
// 3️⃣ Supported extensions
var docExts = new[] { ".xlsx", ".xlsb", ".xlsm", ".xltm", ".xlam",
".xls", ".xml", ".csv", ".tsv", ".sqlscript",
".dif", ".epub", ".azw3", ".html", ".mhtml" };
var jsonExt = ".json";
// 4️⃣ Validate that one side is JSON
bool inputIsJson = Path.GetExtension(inputPath).Equals(jsonExt, StringComparison.OrdinalIgnoreCase);
bool outputIsJson = Path.GetExtension(outputPath).Equals(jsonExt, StringComparison.OrdinalIgnoreCase);
if (!inputIsJson && !outputIsJson)
throw new InvalidOperationException("One of the files must be a JSON document.");
// 5️⃣ Validate document extensions
if (!inputIsJson && !docExts.Contains(Path.GetExtension(inputPath).ToLower()))
throw new NotSupportedException($"Unsupported input file type: {inputPath}");
if (!outputIsJson && !docExts.Contains(Path.GetExtension(outputPath).ToLower()))
throw new NotSupportedException($"Unsupported output file type: {outputPath}");
// 6️⃣ Build options
var loadOpts = new LoadOptions { InputFile = inputPath };
var saveOpts = inputIsJson
? new DocumentSaveOptions
{
OutputFile = outputPath,
SaveFormat = Path.GetExtension(outputPath).ToLower() switch
{
".xlsx" => FileFormatType.Xlsx,
".csv" => FileFormatType.Csv,
".html" => FileFormatType.Html,
".epub" => FileFormatType.Epub,
".azw3" => FileFormatType.Azw3,
".xml" => FileFormatType.Xml,
".tsv" => FileFormatType.Tsv,
".sqlscript" => FileFormatType.SqlScript,
".dif" => FileFormatType.Dif,
_ => throw new NotSupportedException("Unsupported destination format.")
}
}
: new JsonSaveOptions { OutputFile = outputPath };
// 7️⃣ Execute conversion
JsonConverter.Process(loadOpts, saveOpts);
Console.WriteLine($"✅ Conversion succeeded: {outputPath}");
}
catch (Exception ex)
{
// Centralized logging (Serilog, NLog, Azure AppInsights, etc.)
Console.Error.WriteLine($"❌ Conversion failed: {ex.GetType().Name} – {ex.Message}");
// optionally re‑throw for upstream handling
}
🎬 Real‑World Scenarios Powered by Sheetize JSON Converter
| # | Scenario | Input | Output | Business Outcome |
|---|---|---|---|---|
| 1️⃣ | Analytics Feed | XLSX, CSV, or SQLScript | JSON | Feed data lakes directly from spreadsheets, eliminating ETL scripts. |
| 2️⃣ | Dynamic Report Generation | JSON (from API) | HTML, PDF (via HTML) | Render up‑to‑date dashboards on the fly with a single conversion call. |
| 3️⃣ | E‑book Data Extraction | EPUB / AZW3 | JSON | Parse chapter titles, tables, and images for AI‑driven content analysis. |
| 4️⃣ | Bulk Document Publishing | JSON definition of a product catalogue | XLSX, Xltm, or HTML | Auto‑generate printable catalogs and web pages from a single source of truth. |
| 5️⃣ | Legacy System Migration | Excel97To2003, Excel95 | JSON | Modernize old Office files without writing custom parsers. |
📈 Performance & Scaling Tips
| Tip | How It Helps |
|---|---|
Reuse the License object | Avoids repeated I/O; speeds up batch jobs by ~15 %. |
Stream API (LoadOptions.InputStream / DocumentSaveOptions.OutputStream) | Eliminates temporary files → lower disk I/O, higher throughput. |
Parallel Execution (Parallel.ForEach) | Safely run multiple conversions concurrently on multi‑core servers. |
Disable Unnecessary Features (IncludeImages = false if you don’t need them) | Reduces payload size and conversion time. |
📦 Getting Started in Minutes
# 1️⃣ Install the NuGet package
dotnet add package Sheetize
# 2️⃣ Grab a free trial licence (no credit‑card needed)
# https://purchase.sheetize.com/temp-license/113911
# 3️⃣ Place the .lic file in your project (e.g., ./Licenses/Sheetize.JsonConverter_for_.NET.lic)
# 4️⃣ Use the code snippets above – compile and watch your data flow!
Frequently Asked Questions
| Question | Answer |
|---|---|
| Does the library support .NET 8? | Yes – fully tested on .NET 8, and .NET Framework 4.x. |
| Can I convert directly to Kindle’s AZW3? | Absolutely – set FileFormatType.Azw3 in DocumentSaveOptions. |
| What about large files (≥ 500 MB)? | Use the streaming API; the library processes data in chunks to keep memory usage low. |
| Is metadata kept when converting to JSON? | Metadata appears under a reserved __metadata node (title, author, created‑date, custom properties). |
| Do you offer enterprise support? | Paid licenses include 24/7 email/SLack support and optional on‑prem deployment assistance. |
📣 Call‑to‑Action
- Download the NuGet package (
dotnet add package Sheetize). - Run the “Hello‑JSON” console app using the samples above.
- Contact our sales team for a custom plan (unlimited conversions, dedicated support, on‑prem licensing).
➡️ Grab your trial now: https://purchase.sheetize.com/temp-license/113911