.NET में OOXML पैकेजिंग के साथ कैसे काम करें

.NET में OOXML पैकेजिंग के साथ कैसे काम करें

एक XLSX फ़ाइल एक Open Packaging Convention (OPC) ZIP संग्रह है. Aspose.Cells FOSS for .NET के लिए नीचे पैकेज संरचना को प्रदर्शित करता है। PackageModel, PackagePartDescriptor, IPackageReader,और IPackageWriter.ये अंतर्निहित स्तर के एपीआई हैं जो मुख्य रूप से निदान और अनुकूलित भंडारण कार्यान्वयन के लिए उपयोगी हैं। dotnet add package Aspose.Cells_FOSS.

कदम-दर-चरण गाइड

चरण 1: पैकेज स्थापित करें

dotnet add package Aspose.Cells_FOSS

चरण 2: नाम स्थान का आयात करें

using Aspose.Cells_FOSS;

चरण 3: पैकेज संरचना को संभालना

PackageStructureException जब XLSX पैकेज में एक अवांछित OPC संरचना है (उदाहरण के लिए, आवश्यक संबंधों की कमी) फेंक दिया जाता है। WorkbookLoadException अविश्वसनीय स्रोतों से फ़ाइलों को लोड करते समय।.

using Aspose.Cells_FOSS;

var opts = new LoadOptions { TryRepairPackage = true };

try
{
    var wb = new Workbook("suspect.xlsx", opts);
    Console.WriteLine("Loaded: " + wb.Worksheets.Count + " sheet(s)");
}
catch (PackageStructureException ex)
{
    Console.WriteLine("OPC structure invalid: " + ex.Message);
}
catch (WorkbookLoadException ex)
{
    Console.WriteLine("Load error: " + ex.Message);
}

चरण 4: IPackageReader और IPacageWriter को समझें

IPackageReader A को परिभाषित करें Read() एक OPC पैकेज पढ़ने का तरीका; IPackageWriter A को परिभाषित करें Write() पुस्तकालय डिफ़ॉल्ट ZIP-सहायता वाले कार्यान्वयन प्रदान करता है. कस्टम कार्यान्वयन लोड के दौरान या फ़ाइल सिस्टमी संग्रह (उदाहरण के लिए, क्लाउड ब्लोब या स्मृति में बफर्स) पर बचाया जा सकता है।.

// Signature reference
// public interface IPackageReader { void Read(/* ... */); }
// public interface IPackageWriter { void Write(/* ... */); }
//
// Standard usage: pass a Stream to the Workbook constructor
using Aspose.Cells_FOSS;
using System.IO;

byte[] fileBytes = File.ReadAllBytes("data.xlsx");
using var ms = new MemoryStream(fileBytes);
var wb = new Workbook(ms);
Console.WriteLine("Loaded from stream: " + wb.Worksheets.Count + " sheet(s)");

चरण 5: असहाय भागों की जांच करें

जब आप एक XLSX फ़ाइल लोड करते हैं, तो, PackageModel.UnsupportedParts उन हिस्सों की सूची जो पुस्तकालय संसाधित नहीं करता है. ये संरक्षित हैं लेकिन व्याख्या नहीं की जाती. पहुंच PackageLoadContext मॉडल की जांच के लिए एक कस्टम लोड प्रवाह के दौरान।.

// PackageModel is populated internally during Workbook construction.
// Use LoadDiagnostics to detect load-time structural warnings without
// dropping to the PackageModel level directly.
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("Package had " + diag.Issues.Count() + " repair entries.");

सामान्य समस्याएं और सुधार

PackageStructureException इसके साथ ही फेंक दिया जाता है। TryRepairPackage = true. कुछ ओपीसी संरचनात्मक विफलताएं स्वचालित मरम्मत से परे हैं (उदाहरण के लिए, पूरी तरह से सामग्री-प्रकार मानचित्र खो गया है)। unzip -t file.xlsx.यदि वैध है, तो यह एन्क्रिप्ट किया जा सकता है – पासवर्ड-सुरक्षित फ़ाइलों का समर्थन नहीं किया जाता है।.

Workbook कुछ सामग्री है, लेकिन कुछ अभाव में।. जांच करें LoadDiagnostics.Issues के लिए DataLossRisk = true इनमें से कुछ ऐसे हिस्से हैं जिन्हें मरम्मत के दौरान खो दिया गया था।.

कस्टम IPackageReader नहीं बुलाया जा रहा है।. सुनिश्चित करें कि निर्माता का अतिरंजित जो अनुकूलित पाठक को स्वीकार करता है, उपयोग किया जाता है। Workbook निर्माता ओवरलोड एक कस्टम पैकेज पाठक स्वीकार करता है।.

अक्सर पूछे जाने वाले प्रश्न

IPackageReader या IPacageWriter को कब लागू करना चाहिए?

केवल जब आपका भंडारण बैकअप स्थानीय फ़ाइल सिस्टम नहीं है - उदाहरण के लिए, एक अस्थायी फ़ील्ड बनाने के बिना क्लाउड स्टोरेज प्रवाह से सीधे लोड करें।.

क्या PackageModel में असहाय भागों को बचाया जा रहा है?

गैर-मानक भागों में UnsupportedParts गैर-मानक भागों के गुलाबी-ट्रॉप वफादारी के लिए, पीएचडीएसएक्स को ZIP स्तर पर बचाया गया है।.

PackageStructureException और WorkbookLoadException के बीच क्या अंतर है?

PackageStructureException एक OPC / ZIP स्तर की विफलता है (आइटम प्रकार, टूटी हुई रिश्ते की कमी)।. WorkbookLoadException XLSX XML सामग्री को पार करने में उच्च स्तर की विफलता है।.

देखें भी

 हिन्दी