Rad s OOXML pakiranjem
Rad s OOXML pakiranjem
XLSX datoteka je ZIP arhiva Open Packaging Convention (OPC). Aspose.Cells FOSS za .NET izložava osnovni sloj paketa kroz IPackageReader, IPackageWriter, i u skladu s člankom 73. stavkom 1. PackageModel To su API-i niskog razine namijenjeni dijagnostici i alatima. Većina aplikacija koristi samo high-level APIs koji se koriste za upravljanje informacijama o korisnicima na mrežnim stranicama. Workbook -Klasno.
Svrha za upotrebu:
PackageModel predstavlja logički sadržaj XLSX arhiva. Ona prikazuje tri zbirke: Parts (svi dijelovi sadržaja), Relationships (Unos o odnosu OPC-a) i UnsupportedParts U tom slučaju, u skladu s člankom 1. stavkom 2. točka (a) Uredbe (EU) br. PackagePartDescriptor s: PartUri, ContentType, i Category.
using Aspose.Cells_FOSS;
// PackageModel is accessed via PackageLoadContext during custom load flows
// The following illustrates the object structure
// var context = new PackageLoadContext(workbook, packageModel);
// var model = context.Package;
// foreach (var part in model.Parts)
// {
// Console.WriteLine($"URI={part.PartUri}, Type={part.ContentType}");
// }
// Console.WriteLine("Unsupported parts: " + model.UnsupportedParts.Count);Opomena::
PackageModelDirektna instancizacija nije dio standardnog radnog toka visoke razine.
IPaketaČitatelj iIPaketePisač
IPackageReader definira jedinstvenu Read() metoda za čitanje OPC paketa. IPackageWriter definira jedinstvenu Write() Ovi su interfejsi implementirani od strane internog ZIP-based čitatelja/pisca biblioteke i mogu se snabdevati prilagođenim implementacijama za scenarije u memoriji ili skladištenja u oblaku.
// Signature reference — not a complete runnable example
// public interface IPackageReader { void Read(...); }
// public interface IPackageWriter { void Write(...); }PackageStructureException
PackageStructureException je bačen kada XLSX struktura paketa u osnovi nije valjana na primjer, kad su potrebne OPC veze nedostaju. proširuje opću hijerarhiju iznimki i nosi poruku koja opisuje koji strukturni invarijant je kršen.
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true };
try
{
var wb = new Workbook("bad.xlsx", opts);
}
catch (PackageStructureException ex)
{
Console.WriteLine("OPC structure error: " + ex.Message);
}
catch (WorkbookLoadException ex)
{
Console.WriteLine("Load error: " + ex.Message);
}Savjeti i najbolje prakse
- Upotreba:
PackageModel.UnsupportedPartsda otkrije nestandardne dijelove koji se mogu tiho baciti na povratku. - Zlatno
PackageStructureExceptionuz:WorkbookLoadExceptionprilikom učitavanja datoteka iz nezavisnih izvora. - U skladu s člankom 1.
IPackageReader/IPackageWriterInterfejsovi su točke proširenja; implementirajte ih samo kada je potrebno namjenski pohranjivanje (npr. učitavanje iz cloud blopa bez lokalne datoteke). - Za većinu dijagnostike,
LoadDiagnostics(dostupno putem:Workbook.LoadDiagnosticsU ovom slučaju, ne može se koristiti za primjenu u obliku proizvoda.
Zajednički problemi
| Izdavanje | Uzrok | Popraviti |
|---|---|---|
PackageStructureException na teret | Neispunja se obveza za izdavanje odobrenja. | Sastavljeno TryRepairPackage = true u (v) LoadOptions; provjeriti LoadDiagnostics.Issues nakon opterećenja |
UnsupportedParts ne prazna | Datoteka sadrži nestandardne proširenja. | Ovi dijelovi su doslovno sačuvani na osim ako su prisutni pri opterećenju. |
Uređenje: IPackageReader Neizgovaraju se | Prenoseno na pogrešnu konstruktor preopterećenje | Osigurati da se LoadOptions ili konstruktor preopterećenje prihvaća prilagođen čitatelj se koristi |
FAQ
Trebam li koristiti IPackageReader/IPactWriter za normalni rad na preglednicima?
Ne, ovi su interfejsi proširenja za napredne scenarije. Workbook -Ispričano.
Jesu li neisporučeni dijelovi sačuvani na čuvanju?
Sredstva koja su navedena u točki 1. PackageModel.UnsupportedParts Ako se za nestandardizirane dijelove zahtijeva pouzdanost u povratnom putu, upotrebite korak nakon obrade na razini zip-a.
Što je razlika između PackageStructureException i WorkbookLoadExcept?
PackageStructureException U slučaju da je u skladu s člankom 13. stavkom 1. točka (a) i podstavka 2., ako se primjenjuje sljedeći:. WorkbookLoadException označava poremećaj u analizi ili semantici na višem nivou sadržaja XLSX-a.
Svrha referentnog API-a
| Klasa / Interfejs | Opisivanje |
|---|---|
IPackageReader | Interfejs za čitanje OPC paketa (Read (metoda) |
IPackageWriter | Interfejs za pisanje OPC paketa (Write (metoda) |
PackageLoadContext | Priloga I. Workbook u svoj PackageModel |
PackageLoadContext.Package | Vrati se: PackageModel |
PackageModel.Parts | Sve dijelove sadržaja u pakiranju |
PackageModel.Relationships | Ulozi u vezi s OPC-om |
PackageModel.UnsupportedParts | Sredstva koja nisu obrađena u knjižnici |
PackagePartDescriptor.PartUri | URI za OPC-u dijela |
PackagePartDescriptor.ContentType | Uređaj za upravljanje i održavanje podataka (MIME) |
PackagePartDescriptor.Category | Logika (svrha, stilovi itd.) |
PackageStructureException | Izričito na strukturne povrede OPC-a |