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:: PackageModel Direktna 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.UnsupportedParts da otkrije nestandardne dijelove koji se mogu tiho baciti na povratku.
  • Zlatno PackageStructureException uz: WorkbookLoadException prilikom učitavanja datoteka iz nezavisnih izvora.
  • U skladu s člankom 1. IPackageReader/IPackageWriter Interfejsovi 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

IzdavanjeUzrokPopraviti
PackageStructureException na teretNeispunja se obveza za izdavanje odobrenja.Sastavljeno TryRepairPackage = true u (v) LoadOptions; provjeriti LoadDiagnostics.Issues nakon opterećenja
UnsupportedParts ne praznaDatoteka sadrži nestandardne proširenja.Ovi dijelovi su doslovno sačuvani na osim ako su prisutni pri opterećenju.
Uređenje: IPackageReader Neizgovaraju sePrenoseno na pogrešnu konstruktor preopterećenjeOsigurati 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 / InterfejsOpisivanje
IPackageReaderInterfejs za čitanje OPC paketa (Read (metoda)
IPackageWriterInterfejs za pisanje OPC paketa (Write (metoda)
PackageLoadContextPriloga I. Workbook u svoj PackageModel
PackageLoadContext.PackageVrati se: PackageModel
PackageModel.PartsSve dijelove sadržaja u pakiranju
PackageModel.RelationshipsUlozi u vezi s OPC-om
PackageModel.UnsupportedPartsSredstva koja nisu obrađena u knjižnici
PackagePartDescriptor.PartUriURI za OPC-u dijela
PackagePartDescriptor.ContentTypeUređaj za upravljanje i održavanje podataka (MIME)
PackagePartDescriptor.CategoryLogika (svrha, stilovi itd.)
PackageStructureExceptionIzričito na strukturne povrede OPC-a
 Hrvatski