Jak načítat tabulku v .NET
Aspose.Cells FOSS for .NET lets you open existing XLSX spreadsheets with a single constructor call and provides a fault-tolerant loading path for files that have minor structural corruption. Install the library from NuGet with dotnet add package Aspose.Cells_FOSS.
Krok za krokem
Krok 1: Nainstalujte balíček
dotnet add package Aspose.Cells_FOSSOvěřte, zda je balení přítomno:
dotnet list package | grep Aspose.Cells_FOSSKrok 2: Importovat prostor pro jména
Přidejte tuto směrnici na vrchol vašeho souboru C#:
using Aspose.Cells_FOSS;Krok 3: Nahrát XLSX soubor
Přeneste cestu souboru do … Workbook Knihovna čte soubor XLSX a vyplňuje objekt pracovní knihy v paměti.
using Aspose.Cells_FOSS;
var wb = new Workbook("data.xlsx");
Console.WriteLine("Loaded " + wb.Worksheets.Count + " sheet(s)");
Console.WriteLine("First sheet: " + wb.Worksheets[0].Name);
Console.WriteLine("A1 value: " + wb.Worksheets[0].Cells["A1"].StringValue);Krok 4: Nabití s možnostmi opravy tolerující chybou
Pro soubory, které mohou mít ZIP nebo XML poškození, poskytněte LoadOptions předmět s TryRepairPackage a) TryRepairXml nastaven na: true.- Zavolejte mi do telefonu . try/catch pro: WorkbookLoadException v případě, že soubor není obnovitelný.
using Aspose.Cells_FOSS;
var opts = new LoadOptions
{
TryRepairPackage = true,
TryRepairXml = true,
};
try
{
var wb = new Workbook("possibly-corrupt.xlsx", opts);
Console.WriteLine("Loaded successfully");
}
catch (WorkbookLoadException ex)
{
Console.WriteLine("Unrecoverable file: " + ex.Message);
}Krok 5: Zkontrolujte diagnostiku zatížení
Po nakládání prověřte: Workbook.LoadDiagnostics Zjistit, jestli knihovna provedla nějaké opravy. HasRepairs je: true jestliže byla provedena nějaká oprava; HasDataLossRisk je: true pokud údaje byly zlikvidovány. Issues k přístupu jednotlivce, DiagnosticEntry záznamy.
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
var diag = wb.LoadDiagnostics;
if (diag.HasRepairs)
{
Console.WriteLine("Repairs were applied. Data loss risk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
Console.WriteLine($" [{entry.Severity}] {entry.Code}: {entry.Message}");
}
else
{
Console.WriteLine("File loaded cleanly — no repairs.");
}Krok 6: Přístup k údajům pracovního listu
Po načtení, přístup do pracovních listů podle indexu nebo jména a číst hodnoty buněk pomocí Cell.StringValue nebo: Cell.Value.
using Aspose.Cells_FOSS;
var wb = new Workbook("data.xlsx");
// By index
var sheet = wb.Worksheets[0];
Console.WriteLine("Sheet: " + sheet.Name);
Console.WriteLine("A1: " + sheet.Cells["A1"].StringValue);
// By name
var named = wb.Worksheets["Report"];
if (named != null)
Console.WriteLine("Report!B2: " + named.Cells["B2"].StringValue);Obvyklé problémy a řešení
WorkbookLoadException je vyhodeno i s povolenou možností opravy. To znamená, že ZIP struktura souboru je příliš poškozená pro opravu algoritmů k obnovení. Ověřte si, zda je soubor platný archiv Zip (např. zkuste unzip -t file.xlsx) Pokud je soubor zcela poškozen, nemůže být otevřen žádnou knihovnou.
Nabitý pracovní blok má méně listů, než se očekávalo. Při opravě se možná ztratili pracovní listy, které odkazovaly na chybící části. Zkontrolujte LoadDiagnostics.Issues pro údaje s: DataLossRisk = true a informovat uživatele.
Hodnoty buňky jsou po načtení prázdné. Ujistěte se, že máte přístup k správnému indexu nebo názvu pracovního listu. Použijte wb.Worksheets.Count Ověřte také, zda soubor XLSX není chráněn heslem (protože soubory chráněné hesly nejsou v současnosti podporovány).
Workbook Konstruktor visí na velkém souboru. Konstruktor je synchronní a naloží celý soubor do paměti. Pro velmi velké soubory, spustíte zatížení na pozadí nitku udržet UI reaktivní.
DiagnosticEntry.Severity Přehlídky Error ale … HasRepairs je: false. HasRepairs odráží, zda byla opravka úspěšně provedena, ne jestli byly zjištěny chyby. Error- závažnost přístupu s RepairApplied = false znamená, že problém byl zjištěn, ale nemohl být napraven považovat za možné varování ohledně integrity údajů.
Časté otázky
Můžu nahrát soubor XLSX ze Streamu místo cesty?
Ano, to je ono. Workbook konstruktor má přetížení, které přijímá a Stream Projděte proudem po boku… LoadOptions případně pokud je potřeba zatížení s odolností vůči poruchám.
Podporuje knihovna načítání XLSX souborů chráněných heslem?
Soubory chráněné heslem nejsou v aktuálním API. Pokoušet se je načíst bude mít za následek WorkbookLoadException.
Jak zkontrolovat, který list je aktivní v načteném pracovním seznamu?
Čtěte. Workbook.Worksheets.ActiveSheetName získat jméno listu, který byl naposledy aktivní při ukládání souboru.
Můžu současně načíst více XLSX souborů?
Ano, každý. Workbook Příklad je nezávislý. Můžete zřídit několik příkladů Workbook objekty na samostatných vláknech bez sdíleného stavu.
Co se stane, když je zabitá buňka vzorce a chybí výsledek v mezipaměti?
Cell.StringValue Vrátí prázdný řetěz. Cell.Formula Vyměněná hodnota se vyplní pouze tehdy, když Excel (nebo kompatibilní aplikace) otevře a uloží soubor.