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í

  1. Nainstalujte balíček NuGet: viz Instalace .
  2. 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 nenalezenOvěřte, že cesta vstupního souboru je správná a přístupná
Není podporován formát souboruUjistěte se, že vstupní formát je podporován (XLS, XLSX, XLSM, atd.)
Očekávaná hodnota nebyla nalezenaZkontrolujte, zda názvy sloupců/polí přesně odpovídají záhlavím v Excelu
Prázdný výstup JSONOvěřte, že list obsahuje data a není skrytý
Neplatný JSONAnalyzujte výstup a identifikujte strukturální problémy
Přetečení pamětiPoužijte režim streamování pro velmi velké sešity
Problémy s kódovánímPoužít Encoding.UTF8 namísto ASCII pro mezinárodní znaky
Chyba pozice prouduResetovat 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í metody
  • LowCodeLoadOptions: Konfigurace pro načítání souborů Excel
  • LowCodeSaveOptions: Konfigurace výstupu JSON
  • JsonSaveOptions: 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 Excel
  • OutputStream: Cílový stream pro výstup JSON (umožňuje zpracování v paměti)
  • ExportArea: Specifický rozsah buněk k exportu
  • ExportAsString: Exportovat všechny hodnoty jako řetězce
  • Indent: Ř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‑soubor
  • JsonConverter.Process(LowCodeLoadOptions, LowCodeSaveOptions): Pokročilá konverze s možnostmi
  • MemoryStream.ToArray(): Získat obsah JSON jako pole bajtů
  • Encoding.UTF8.GetString(byte[]): Převést bajty na řetězec JSON
 Čeština