.NET में Core Workbook Settings के साथ कैसे काम करें
Aspose.Cells FOSS for .NET वर्कबुक-स्तर की कॉन्फ़िगरेशन को Workbook.Settings (लोकैल और डेट सिस्टम), Workbook.DocumentProperties (लेखक मेटाडेटा), Workbook.LoadDiagnostics (मरम्मत रिपोर्ट), और SaveOptions (सेव व्यवहार) के माध्यम से उजागर करता है। एक ही dotnet add package कमांड से इंस्टॉल करें।
चरण-दर-चरण गाइड
चरण 1: पैकेज इंस्टॉल करें
dotnet add package Aspose.Cells.FOSSचरण 2: नेमस्पेस इम्पोर्ट करें
using Aspose.Cells_FOSS;
using System.Globalization;चरण 3: WorkbookSettings कॉन्फ़िगर करें
Workbook.Settings एक WorkbookSettings ऑब्जेक्ट लौटाता है। macOS-उत्पन्न फाइलों के लिए जो 1904 डेट सिस्टम का उपयोग करती हैं, Date1904 = true सेट करें। संख्या और तिथि पार्सिंग लोकेल को नियंत्रित करने के लिए Culture सेट करें।
using Aspose.Cells_FOSS;
using System.Globalization;
var wb = new Workbook();
wb.Settings.Date1904 = false;
wb.Settings.Culture = new CultureInfo("en-US");
wb.Worksheets[0].Cells["A1"].PutValue("Settings configured");
wb.Save("settings.xlsx");
var loaded = new Workbook("settings.xlsx");
Console.WriteLine("Date1904: " + loaded.Settings.Date1904);चरण 4: दस्तावेज़ गुण सेट करें
Workbook.DocumentProperties Title, Subject, Author, Keywords, Comments, Category, Company, और Manager को सीधे स्ट्रिंग प्रॉपर्टी के रूप में उजागर करता है।
using Aspose.Cells_FOSS;
var wb = new Workbook();
wb.DocumentProperties.Title = "Quarterly Report";
wb.DocumentProperties.Author = "Reporting Team";
wb.DocumentProperties.Company = "Contoso Ltd";
wb.DocumentProperties.Keywords = "quarterly, sales, 2026";
wb.Save("properties.xlsx");
var loaded = new Workbook("properties.xlsx");
Console.WriteLine("Title: " + loaded.DocumentProperties.Title);
Console.WriteLine("Author: " + loaded.DocumentProperties.Author);चरण 5: SaveOptions का उपयोग करें
Workbook.Save(path, SaveOptions) आउटपुट को अनुकूलित करने के लिए एक SaveOptions ऑब्जेक्ट स्वीकार करता है। प्रमुख प्रॉपर्टीज़: UseSharedStrings (बार-बार दोहराए जाने वाले स्ट्रिंग्स वाली शीट्स के लिए फ़ाइल आकार घटाता है), ValidateBeforeSave (लिखने से पहले वैधता चलाता है), और CompactStyles (अप्रयुक्त स्टाइल्स को हटाता है)।
using Aspose.Cells_FOSS;
var wb = new Workbook();
var ws = wb.Worksheets[0];
for (var i = 0; i < 50; i++)
ws.Cells[i, 0].PutValue("Repeated text");
var opts = new SaveOptions
{
UseSharedStrings = true,
ValidateBeforeSave = true,
CompactStyles = true,
};
wb.Save("compact.xlsx", opts);
Console.WriteLine("Saved with SaveOptions.");चरण 6: मरम्मत के बाद LoadDiagnostics पढ़ें
TryRepairPackage = true के साथ लोड करने के बाद, देखें कि क्या कोई मरम्मत लागू हुई है, इसके लिए Workbook.LoadDiagnostics जांचें।
using Aspose.Cells_FOSS;
var opts = new LoadOptions { TryRepairPackage = true, TryRepairXml = true };
var wb = new Workbook("file.xlsx", opts);
var diag = wb.LoadDiagnostics;
Console.WriteLine("HasRepairs: " + diag.HasRepairs);
Console.WriteLine("HasDataLossRisk: " + diag.HasDataLossRisk);
foreach (var entry in diag.Issues)
Console.WriteLine($" [{entry.Severity}] {entry.Code}: {entry.Message}");सामान्य समस्याएँ और समाधान
WorkbookSaveException when ValidateBeforeSave = true. वर्कबुक में एक संरचनात्मक असंगति है। अक्षम करें ValidateBeforeSave अस्थायी रूप से सहेजने और फ़ाइल का निरीक्षण करने के लिए, फिर समस्याग्रस्त सामग्री को ठीक करें।
दस्तावेज़ गुण Excel के फ़ाइल जानकारी पैनल में दिखाई नहीं देते। सुनिश्चित करें कि आप गुण सेट कर रहे हैं Workbook.DocumentProperties, नहीं कि Workbook.Properties. बाद वाला डिस्प्ले फ़्लैग रखता है, मेटाडेटा स्ट्रिंग्स नहीं।
Date1904 = true तारीख मानों को शिफ्ट करता है। Date1904 दिनांक क्रमांक के लिए प्रयुक्त एपॉक को बदलता है। इसे केवल सेट करें true macOS Excel से उत्पन्न फ़ाइलों के लिए, जिसमें 1904 डेट सिस्टम सक्षम है; सिस्टम को मिलाने से 1462-दिन की त्रुटि होती है।
अक्सर पूछे जाने वाले प्रश्न
WorkbookSettings और WorkbookProperties में क्या अंतर है?
WorkbookSettings (Workbook.Settings के माध्यम से) Date1904 और Culture जैसे कॉन्फ़िगरेशन मान रखता है। WorkbookProperties (Workbook.Properties के माध्यम से) ShowObjects जैसे OOXML डिस्प्ले फ़्लैग रखता है। दस्तावेज़ मेटाडेटा स्ट्रिंग्स (शीर्षक, लेखक, आदि) Workbook.DocumentProperties में स्थित हैं।
क्या CompactStyles कभी उन शैलियों को हटा देता है जो मुझे चाहिए?
नहीं। CompactStyles केवल उन शैलियों को हटाता है जो वर्कबुक में किसी भी सेल या फ़ॉर्मेट नियम द्वारा संदर्भित नहीं हैं।
क्या मैं LoadDiagnostics को पढ़ सकता हूँ भले ही कोई मरम्मत प्रयास न किया गया हो?
हाँ। Issues संग्रह खाली रहेगा और दोनों HasRepairs और HasDataLossRisk false लौटाएंगे।