.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.
कदम-दर-चरण गाइड
चरण 1: पैकेज स्थापित करें
dotnet add package Aspose.Cells_FOSSपैकेज मौजूद है की जांच करें:
dotnet list package | grep Aspose.Cells_FOSSचरण 2: नाम स्थान का आयात करें
अपने C# फ़ाइल के शीर्ष पर इस दिशानिर्देश को जोड़ें:
using Aspose.Cells_FOSS;चरण 3: एक XLSX फ़ाइल लोड करें
फ़ाइल मार्ग को पार करें Workbook पुस्तकालय XLSX फ़ाइल को पढ़ता है और स्मृति में कार्यपुस्तिका वस्तु को लोकप्रिय करता है।.
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);चरण 4: दोष-टोलरेंट मरम्मत विकल्पों के साथ लोड करें
फ़ाइलों के लिए जो ZIP या XML भ्रष्टाचार हो सकता है, एक प्रदान करें LoadOptions वस्तुओं के साथ TryRepairPackage और TryRepairXml सेट करें true.कॉल को एक में रखें try/catch के लिए WorkbookLoadException यदि फ़ाइल अपरिवर्तनीय है।.
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);
}चरण 5: लोड निदान की जांच करें
लोड करने के बाद, जांच करें Workbook.LoadDiagnostics यह देखने के लिए कि क्या पुस्तकालय किसी भी मरम्मत का उपयोग करता है।. HasRepairs है true यदि कोई सुधार किया गया है; HasDataLossRisk है true यदि डेटा को हटा दिया जा सकता है. Iterate Issues व्यक्तिगत पहुंच के लिए DiagnosticEntry रिकॉर्ड है।.
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.");
}चरण 6: एक्सेस कार्यपत्रक डेटा
लोड करने के बाद, सूचकांक या नाम से कार्यपत्रक तक पहुंचें और सेल मूल्य का उपयोग करके पढ़ें। Cell.StringValue या 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);सामान्य समस्याएं और सुधार
WorkbookLoadException इसे मरम्मत के विकल्पों के साथ भी फेंक दिया जाता है।. इसका मतलब है कि फ़ाइल की ZIP संरचना को ठीक करने के लिए मरम्मत एल्गोरिथ्म के रूप में बहुत नुकसान पहुंचाया गया है. फ़ोल्डर का सत्यापन एक वैध Zip संग्रह है (उदाहरण के, कोशिश करें) unzip -t file.xlsxयदि फ़ाइल पूरी तरह से भ्रष्ट है, तो इसे किसी भी पुस्तकालय द्वारा नहीं खोला जा सकता है।.
लोड किए गए कार्यपुस्तिका में उम्मीद की तुलना में कम शीट हैं।. एक मरम्मत ऑपरेशन में खोए हुए कार्यपत्रक हो सकते हैं जो गायब भागों को संदर्भित करते हैं। LoadDiagnostics.Issues इनपुट के साथ DataLossRisk = true उपयोगकर्ता को सूचित करें।.
चक्र के बाद सेल मूल्य खाली हैं।. सुनिश्चित करें कि आप सही कार्यपत्रक सूचकांक या नाम तक पहुंच रहे हैं. उपयोग करें wb.Worksheets.Count यह भी सुनिश्चित करें कि XLSX फ़ाइल पासवर्ड-सुरक्षित नहीं है (पासवर्ड से सुरक्षित फ़ील्ड वर्तमान में समर्थित नहीं हैं)।.
Workbook निर्माता एक बड़ी फ़ाइल पर लटका हुआ है।. निर्माता सिंक्रनाइज़ है और पूरे फ़ाइल को स्मृति में लोड करता है. बहुत बड़े फ़ील्ड के लिए, यूआई प्रतिक्रियाशील रखने के लिये पृष्ठभूमि तार पर लंड चलाएं.
DiagnosticEntry.Severity प्रदर्शन Error लेकिन HasRepairs है false. HasRepairs यह दर्शाता है कि क्या एक मरम्मत सफलतापूर्वक लागू की गई थी, न कि गलतियों का पता लगाया गया था। Error- सटीक प्रवेश के साथ RepairApplied = false इसका मतलब है कि समस्या का पता लगाया गया था लेकिन इसे ठीक नहीं किया जा सकता था - इसे डेटा की अखंडता के संभावित चेतावनी के रूप में व्यवहार करें।.
अक्सर पूछे जाने वाले प्रश्न
क्या मैं एक फ़ाइल मार्ग के बजाय स्ट्रीम से एक XLSX फ़ील्ड लोड कर सकता हूं?
हाँ, यह Workbook एक निर्माता के पास अतिरिक्त लोड है जो एक को स्वीकार करता है Stream अपने प्रवाह को एक के साथ पार करें LoadOptions उदाहरण के लिए, यदि दोष-टोलरेंट लोड की आवश्यकता होती है।.
क्या पुस्तकालय पासवर्ड-सुरक्षित XLSX फ़ाइलों को लोड करने का समर्थन करता है?
पासवर्ड-सुरक्षित फ़ाइल वर्तमान एपीआई सतह पर नहीं हैं. लोड करने का प्रयास एक के परिणामस्वरूप होगा WorkbookLoadException.
मैं कैसे जांच सकता हूं कि लोड किए गए कार्यपुस्तिका में कौन सा शीट सक्रिय है?
पढ़ाई Workbook.Worksheets.ActiveSheetName फ़ाइल को सहेजने के बाद अंतिम रूप से सक्रिय होने वाले शीट का नाम प्राप्त करने के लिए।.
क्या मैं एक साथ कई XLSX फ़ाइलों को लोड कर सकता हूं?
हाँ, हर एक Workbook उदाहरण स्वतंत्र है. आप कई उदाहरों को संकलित कर सकते हैं Workbook अलग-अलग तारों पर वस्तुओं के बिना साझा राज्य।.
क्या होता है अगर एक सूत्र कोशिका लोड हो जाती है और कैच परिणाम अनुपस्थित होता हैं?
Cell.StringValue एक खाली पंक्ति वापस आती है।. Cell.Formula फ़ाइल को केवल जब Excel (या एक संगत अनुप्रयोग) खोलता है और सहेजता होता है तो कैश मूल्य रखा जाता है।.