Aspose.Cells JSON Converter pro .NET
Aspose.Cells JSON Konvertor pro .NET poskytuje plynulou, vysoce výkonnou konverzi mezi sešity Microsoft Excel (XLS, XLSX, XLSM) a datovými strukturami JSON. Ať už potřebujete serializovat obsah listů do JSON pro webové aplikace nebo rekonstruovat soubory Excel z JSON payloadů, tento plugin zajišťuje přesnost, validaci schématu a efektivní výkon.
Instalace a nastavení
- Nainstalujte balíček NuGet: viz Instalace .
- Nakonfigurujte měřenou licenci před použitím API: viz Měřená licence .
Nainstalujte balíček Aspose.Cells NuGet (viz Instalace).
Klíčové vlastnosti
Použijte měřenou licenci před použitím API (viz Metered Licensing).
- Převádějte z formátů XLS, XLSX, XLTM, XLSM, XLSB, CSV, TSV, HTML, ODS a dalších.
- Podpora grafů, kontingenčních tabulek, obrázků, tvarů a datových spojení.
- Zajišťuje obousměrné konverze z Excelu do JSON a zpět.
Přesnost při obousměrném exportu složitých sešitů.
- Vysoká věrnost rozvržení a formátování.
- Zachovat písma, styly, barvy, orámování, okraje, záhlaví a zápatí.
- Respektovat tiskové oblasti, zalomení stránek a nastavení tisku v Excelu.
- Zajistěte přesné zarovnání s původním náhledem tisku v Excelu.
Velké pracovní listy rozdělené mezi více souborů s obrázky
- Podpora paměťových streamů: Převádějte přímo do paměťových streamů pro zpracování v paměti.
- Efektivní I/O: Zpracovávejte velké datové sady pomocí streamového čtení/zápisu.
- Webová integrace: Vypisujte JSON přímo do HTTP odpovědních streamů ve webových aplikacích.
- Žádný přístup k souborovému systému: Dokončete konverze bez zásahu do úložiště na disku.
Řízení stránkování
- Jedna stránka na list: Vynutí, aby každý list byl na jedné stránce PDF bez ohledu na velikost obsahu.
- Vlastní zalomení stránky: Respektujte nebo přepište vestavěná nastavení zalomení stránky v Excelu.
- Možnosti přizpůsobení na stránku: Škálovat listy tak, aby odpovídaly konkrétním rozměrům stránky.
Pokročilé možnosti
- Pokročilé možnosti PDF.
- Definujte cíle souladu (PDF/A-1b, PDF/A-2u, PDF/X-1a, PDF 1.4–2.0).
- Použijte kompresi pro text, obrázky a objekty.
Řiďte downsampling obrázků a prahové hodnoty kvality.
- Ověřování obsahu: Ověřte, že výstup JSON obsahuje očekávaná data.
- Programatické testování: Vyhledejte a ověřte konkrétní hodnoty v generovaném JSON.
- Kontroly integrity dat: Zajistěte, aby byly v výstupu přítomny kritické pole.
Výstup založený na proudu: Zapište do paměťových streamů pro zpracování v paměti.
- Síťové streamy: Výstup přímo do síťových umístění nebo cloudového úložiště.
- Chraňte dokumenty pomocí šifrování AES (40–256 bitů).
- Omezte oprávnění pro tisk, kopírování a úpravy.
Příklady použití
Podpora digitálních podpisů (prostřednictvím integrace s dalšími Aspose API).
Zpracování založené na streamu pro velké sešity.:
using Aspose.Cells.LowCode;
string src = "mytemplate.xlsx";
JsonConverter.Process(src, "result\\PluginJson1.json");Vícevláknové konverze pro škálování na straně serveru.
Ukládání písem a zdrojů do mezipaměti pro optimalizaci propustnosti.
ImageOrPrintOptions: Podrobné nastavení vykreslování obrázku:
using Aspose.Cells.LowCode;
using System.IO;
using System.Text;
string src = "template.xlsx";
LowCodeLoadOptions lclopts = new LowCodeLoadOptions();
lclopts.InputFile = src;
LowCodeSaveOptions lcsopts = new LowCodeSaveOptions();
MemoryStream ms = new MemoryStream();
lcsopts.OutputStream = ms;
JsonConverter.Process(lclopts, lcsopts);
string jsonContent = Encoding.ASCII.GetString(ms.ToArray());
Console.WriteLine(jsonContent.IndexOf("Column1") > 0
? "Found the first cell value"
: "Cannot find the expected cell value");LowCodeImageSaveOptions: Konfigurace výstupu obrázku
Zachytávání podrobných varování (např. chybějící písma, nepodporované funkce).:
// Create memory stream for output
MemoryStream ms = new MemoryStream();
lcsopts.OutputStream = ms;
// Perform conversion
JsonConverter.Process(lclopts, lcsopts);
// Access the JSON as byte array
byte[] jsonBytes = ms.ToArray();
// Access the JSON as string
string jsonString = Encoding.UTF8.GetString(jsonBytes);
// Use in web API
return Content(jsonString, "application/json");Co je Aspose.Cells Image Converter pro .NET? Zaměřený nástroj pro programatickou konverzi tabulek Excel na obrázky v aplikacích .NET..:
- Různé typy výjimek pro licenční, formátové a zdrojové problémy.
ImageType: Výstupní formát (PNG, JPEG, TIFF, BMP, EMF, GIF)- Kompatibilní s .NET logovacími rámci pro centralizovanou diagnostiku.
- Základní konverze: Excel do PDF
- Nejjednodušší způsob, jak převést soubor Excel do PDF pomocí jediného řádku kódu:
- Toto převádí celý sešit do PDF s výchozími nastaveními, zachovává všechny listy a formátování.
Nastavte specifické možnosti PDF pro přesnou kontrolu výstupu:
Rozpis funkcí: jedna stránka na list:
using System;
using System.Text;
using System.Text.Json;
using System.IO;
MemoryStream ms = new MemoryStream();
string jsonContent = Encoding.UTF8.GetString(ms.ToArray());
// Check for specific column headers
bool hasColumn1 = jsonContent.IndexOf("Column1") > 0;
bool hasColumn2 = jsonContent.IndexOf("Column2") > 0;
// Validate data presence
if (hasColumn1 && hasColumn2)
{
Console.WriteLine("All expected columns found in JSON output");
}
else
{
Console.WriteLine("Warning: Missing expected columns");
}
// Parse and validate JSON structure
try
{
var jsonDoc = JsonDocument.Parse(jsonContent);
Console.WriteLine("JSON is valid and well-formed");
}
catch (JsonException ex)
{
Console.WriteLine($"Invalid JSON: {ex.Message}");
}Řídit, jak jsou listy stránkovány ve výstupu PDF:
- Vyhledávání obsahu: Použít
IndexOf()k nalezení konkrétních názvů polí nebo hodnot - Parsování JSON: Analyzovat výstup pro ověření platnosti struktury
- Validace schématu: Porovnat s očekávaným JSON schématem
- Kontroly datových typů: Zajistit, aby čísla, data a logické hodnoty byly správně formátovány
- Testy úplnosti: Ověřte, že jsou přítomny všechny očekávané řádky/sloupce
Před a po:
Rozpis funkcí: Výstup založený na souboru vs výstup založený na proudu:
// Traditional API (verbose)
Workbook workbook = new Workbook("sample.xlsx");
workbook.Save("output.json", SaveFormat.Json);
// LowCode API (concise)
JsonConverter.Process("sample.xlsx", "output.json");Zvolte výstupní metodu, která nejlépe vyhovuje vašemu scénáři:
- Výhody výstupu založeného na souborech:
- Jednodušší syntaxe
- Automatické vytváření adresářů
- Nižší využití paměti
- Ideální pro dávkové zpracování
SplitPartIndexOffset: Počáteční číslo pro indexování stránek/rozdělení
Výhody výstupu založeného na streamu:
using Aspose.Cells;
// Load your source workbook
Workbook workbook = new Workbook("sample.xlsx");
// Configure JSON save options
JsonSaveOptions saveOptions = new JsonSaveOptions();
saveOptions.ExportArea = new CellArea
{
StartRow = 0,
StartColumn = 0,
EndRow = 10,
EndColumn = 5
};
saveOptions.ExportAsString = true;
saveOptions.Indent = " "; // Pretty-print with 2-space indentation
// Convert the workbook to JSON file
workbook.Save("sample_out.json", saveOptions);Není vyžadován diskový I/O
Flexibilní směrování (webová odpověď, cloud, e‑mail):
[HttpGet("export-to-json")]
public IActionResult ExportToJson(string filename)
{
try
{
LowCodeLoadOptions loadOpts = new LowCodeLoadOptions();
loadOpts.InputFile = filename;
LowCodeSaveOptions saveOpts = new LowCodeSaveOptions();
MemoryStream ms = new MemoryStream();
saveOpts.OutputStream = ms;
JsonConverter.Process(loadOpts, saveOpts);
string jsonContent = Encoding.UTF8.GetString(ms.ToArray());
return Content(jsonContent, "application/json");
}
catch (Exception ex)
{
return StatusCode(500, $"Conversion error: {ex.Message}");
}
}Cache v paměti
Ideální pro webová API:
string[] excelFiles = Directory.GetFiles("input", "*.xlsx");
foreach (string file in excelFiles)
{
try
{
LowCodeLoadOptions loadOpts = new LowCodeLoadOptions();
loadOpts.InputFile = file;
LowCodeSaveOptions saveOpts = new LowCodeSaveOptions();
MemoryStream ms = new MemoryStream();
saveOpts.OutputStream = ms;
JsonConverter.Process(loadOpts, saveOpts);
string json = Encoding.UTF8.GetString(ms.ToArray());
// Validate JSON before saving
if (json.Length > 0 && json.Contains("{"))
{
string outputFile = Path.Combine("output",
Path.GetFileNameWithoutExtension(file) + ".json");
File.WriteAllText(outputFile, json);
Console.WriteLine($"✓ Converted: {Path.GetFileName(file)}");
}
else
{
Console.WriteLine($"✗ Invalid output: {Path.GetFileName(file)}");
}
}
catch (Exception ex)
{
Console.WriteLine($"✗ Error processing {file}: {ex.Message}");
}
}${SheetIndex}: Index listu (s aplikovaným posunem)
Optimalizace výkonu
- Použijte LowCode API: Využijte
JsonConverter.Process()pro rychlejší konverze s menší režijní zátěží. - Velké pracovní listy rozdělené mezi více souborů s obrázky: Použijte paměťové proudy pro operace v paměti, abyste se vyhnuli souborovému I/O.
- Velikosti dávky: Pro velké sešity povolte režim streamování a upravte velikosti dávek.
- Asynchronní operace: Používejte async APIs pro dlouhodobé konverze ve webových aplikacích.
Pokročilá kontrola stránkování
- Validace výstupu: Vždy validujte JSON výstup pomocí řetězcových vyhledávání nebo JSON parserů.
- Definice schématu: Definujte JSON schémata jednou a znovu je použijte v několika úlohách.
- Transformátory: Používejte vlastní transformátory pro konzistentní formátování dat a čísel.
- Validace vstupu: Ověřte příchozí JSON před importem do Excelu.
Správa paměti
- Uvolnění streamů: Vždy uvolněte paměťové streamy po použití, aby se uvolnila paměť.
- Znovupoužití streamu: Resetujte a znovu použijte paměťové streamy pro dávkové konverze.
- Uvolnění prostředků: Zabalte konverzní operace do bloků try‑finally pro zaručené uvolnění.
Použijte měřenou licenci před použitím API (viz Metered Licensing).
- Zpracování chyb: Zabalte volání konverze do bloků try‑catch pro ošetření chyb licence a I/O.
- Logování: Logujte výsledky konverze a výsledky validace pro auditní stopy.
- Ověření obsahu: Použít
IndexOf()nebo parsování JSON k ověření existence kritických polí. - Kódování: Použijte kódování UTF8 pro podporu mezinárodních znaků.
Podpora grafů, kontingenčních tabulek, obrázků, tvarů a datových spojení.
| Problém | Řešení |
|---|---|
| Soubor nenalezen | Ověřte, že cesta vstupního souboru je správná a přístupná |
| Není podporován formát souboru | Ujistěte se, že vstupní formát je podporován (XLS, XLSX, XLSM, atd.) |
| Očekávaná hodnota nebyla nalezena | Zkontrolujte, zda názvy sloupců/polí přesně odpovídají záhlavím v Excelu |
| Prázdný výstup JSON | Ověřte, že list obsahuje data a není skrytý |
| Neplatný JSON | Analyzujte výstup a identifikujte strukturální problémy |
| Přetečení paměti | Použijte režim streamování pro velmi velké sešity |
| Problémy s kódováním | Použít Encoding.UTF8 namísto ASCII pro mezinárodní znaky |
| Chyba pozice proudu | Resetovat pozici proudu pomocí ms.Seek(0, SeekOrigin.Begin) před čtením |
Často kladené otázky
Co je Aspose.Cells JSON Converter pro .NET? Umožňuje programovou konverzi souborů Excel z/do JSON struktur v aplikacích .NET s vysokým výkonem a přesností.
Jak se liší od Aspose.Cells pro .NET? Aspose.Cells is a full-featured library. The JSON Converter focuses on Excel-to-JSON and JSON-to-Excel workflows with streamlined APIs.
Jaké souborové formáty jsou podporovány? XLS, XLSX, XLSM, XLTX, XLTM, XLSB a JSON.
Lze přizpůsobit generování JSON? Ano. Použijte JsonSaveOptions pro nastavení odsazení, kódování a formátování.
Mohu převést přímo do paměti bez souborů? Ano! Použijte MemoryStream s LowCodeSaveOptions.OutputStream pro kompletní zpracování v paměti.
Jak mohu ověřit výstup JSON? Použijte IndexOf() k vyhledání očekávaných hodnot, nebo parsovat JSON pomocí System.Text.Json.JsonDocument k ověření struktury.
Jaké kódování mám použít? Použijte Encoding.UTF8 pro správnou podporu mezinárodních znaků a speciálních symbolů.
Mohu to použít ve webových API? Rozhodně! Přístup založený na streamu je ideální pro REST API, vrací JSON přímo z dat v Excelu.
Vlastní mapování JSON schématu
Mapovat rozsahy na pole JSON nebo objekty.
JsonConverter: Statická třída poskytující zjednodušené konverzní metodyLowCodeLoadOptions: Konfigurace pro načítání souborů ExcelLowCodeSaveOptions: Konfigurace výstupu JSONJsonSaveOptions: Podrobné nastavení konverze JSON (tradiční API)MemoryStream: In-memory stream pro konverze bez souborového systému
Webová integrace: Vypisujte JSON přímo do HTTP odpovědních streamů ve webových aplikacích.
InputFile: Cesta ke zdrojovému souboru ExcelOutputStream: Cílový stream pro výstup JSON (umožňuje zpracování v paměti)ExportArea: Specifický rozsah buněk k exportuExportAsString: Exportovat všechny hodnoty jako řetězceIndent: Řetězec odsazení JSON pro hezké formátování
Jak se liší od Aspose.Cells pro .NET? Aspose.Cells pro .NET podporuje širokou škálu úkolů manipulace s tabulkami, zatímco PDF Converter se zaměřuje konkrétně na přesný export PDF s optimalizovanými API.
JsonConverter.Process(string, string): Jednoduchá konverze soubor‑souborJsonConverter.Process(LowCodeLoadOptions, LowCodeSaveOptions): Pokročilá konverze s možnostmiMemoryStream.ToArray(): Získat obsah JSON jako pole bajtůEncoding.UTF8.GetString(byte[]): Převést bajty na řetězec JSON