परिचय
Aspose.Cells FOSS for .NET एक शुद्ध प्रबंधित‑कोड, MIT‑लाइसेंस वाली लाइब्रेरी है जो Excel .xlsx वर्कबुक को पढ़ने, लिखने,
और संशोधित करने के लिए बिना किसी Microsoft Office निर्भरता के उपयोग की जा सकती है। इसे Aspose.Cells_FOSS NuGet पैकेज के रूप में स्थापित किया जाता है, यह किसी भी .NET प्रोजेक्ट — कंसोल ऐप्स, वेब
APIs, बैकग्राउंड वर्कर्स, और सर्वरलेस फ़ंक्शन्स में एकीकृत हो जाता है।
यह पोस्ट सार्वजनिक API का फ़ीचर-दर-फ़ीचर walkthrough प्रदान करती है, यह दिखाते हुए कि क्या संभव है और C# कोड से प्रत्येक क्षमता को कैसे invoke किया जाए।
फ़ीचर अवलोकन
वर्कबुक और वर्कशीट जीवनचक्र
हर ऑपरेशन का प्रवेश बिंदु Workbook क्लास है। new Workbook() के साथ शून्य से एक बनाएँ, या new Workbook(filePath) या new Workbook(stream) के साथ मौजूदा .xlsx लोड करें। Workbook.Worksheets के माध्यम से शीट्स नेविगेट करें, Worksheet.Name और Worksheet.VisibilityType सेट करें, और Workbook.Save() के साथ स्थायी बनाएँ। क्षतिग्रस्त फ़ाइलों के लिए, TryRepairPackage = true और TryRepairXml = true के साथ एक LoadOptions इंस्टेंस पास करें।
using Aspose.Cells_FOSS;
var options = new LoadOptions
{
TryRepairPackage = true,
TryRepairXml = true,
};
try
{
_ = new Workbook("sample.xlsx", options);
}
catch (WorkbookLoadException exception)
{
Console.WriteLine(exception.Message);
}
सेल डेटा और सूत्र
Cell.PutValue() के साथ कोशिकाओं में मान लिखें — ओवरलोड string, int, double,
decimal, bool, और DateTime को स्वीकार करते हैं। मानों को Cell.Value, Cell.StringValue, और
Cell.Formula के माध्यम से वापस पढ़ें। एक्सेल फ़ॉर्मूले Cell.Formula प्रॉपर्टी के साथ सेट करें; फ़ॉर्मूला स्ट्रिंग
सेव पर संरक्षित रहती है और पुनः लोड चक्र में बनी रहती है।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("hello.xlsx");
var loaded = new Workbook("hello.xlsx");
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].Formula);
Console.WriteLine(loaded.Worksheets[0].Cells["C1"].StringValue);
सेल स्टाइलिंग
फ़ॉन्ट, फ़िल, बॉर्डर, नंबर फ़ॉर्मेट और संरेखण को नियंत्रित करने के लिए Style ऑब्जेक्ट्स लागू करें।Cell.GetStyle() के साथ वर्तमान शैली प्राप्त करें, उसे बदलें, फिर कमिट करेंCell.SetStyle()। बैकग्राउंड फ़िल्स के लिए, Style.Pattern = FillPattern.Solid सेट करें और एकColor को Style.ForegroundColor को असाइन करें। सेल रेंज को विस्तारित करने के लिए Cells.Merge() का उपयोग करें।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var cell = workbook.Worksheets[0].Cells["A1"];
cell.PutValue("Styled");
var style = cell.GetStyle();
style.Font.Bold = true;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 241, 196, 15);
cell.SetStyle(style);
Console.WriteLine($"{cell.StringValue} / Bold={cell.GetStyle().Font.Bold}");
शर्तीय स्वरूपण
ConditionalFormattingCollection के माध्यम से सेल रेंज पर कंडीशनल फ़ॉर्मेटिंग नियम संलग्न करें।
नियम FormatConditionType.CellValue, Expression, ColorScale, DataBar, औरIconSet का समर्थन करते हैं। तुलना ऑपरेटर निर्दिष्ट करने के लिए OperatorType का उपयोग करें (Between, Equal,GreaterThan, आदि), मिलते हुए सेल को Style असाइन करें, और प्राथमिकता तथा
stop‑if‑true व्यवहार को प्रत्येक नियम के अनुसार कॉन्फ़िगर करें।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
var cfCollection = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCollection.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCollection[cfCollection.AddCondition(
FormatConditionType.CellValue, OperatorType.Between, "3", "7")];
var style = rule.Style;
style.Pattern = FillPattern.Solid;
style.ForegroundColor = Color.FromArgb(255, 255, 199, 206);
style.Font.Bold = true;
rule.Style = style;
workbook.Save("conditional-formatting.xlsx");
डेटा सत्यापन
Worksheet.Validations का उपयोग करके कोशिकाओं में इनपुट प्रतिबंध जोड़ें। समर्थित सत्यापन प्रकार
में ValidationType.List, Decimal, Custom, और अन्य शामिल हैं। इनपुट प्रॉम्प्ट कॉन्फ़िगर करें
(InputTitle, InputMessage) और त्रुटि संदेश (ErrorTitle, ErrorMessage,ValidationAlertType)। CellArea.CreateCellArea() का उपयोग करके सत्यापित सीमा निर्धारित करें औरValidation.AddArea() का उपयोग करके अतिरिक्त सीमाओं पर नियम लागू करें।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Validation Sheet";
var listIdx = sheet.Validations.Add(CellArea.CreateCellArea("A1", "A3"));
var listVal = sheet.Validations[listIdx];
listVal.Type = ValidationType.List;
listVal.Formula1 = "\"Open,Closed\"";
listVal.IgnoreBlank = true;
listVal.InCellDropDown = true;
listVal.ShowInput = true;
listVal.InputTitle = "Status";
listVal.InputMessage = "Pick a status";
listVal.ShowError = true;
listVal.ErrorTitle = "Invalid";
listVal.ErrorMessage = "Choose from the list";
workbook.Save("validations-sample.xlsx");
पेज सेटअप और प्रिंट विकल्प
Worksheet.PageSetup के माध्यम से प्रिंट लेआउट कॉन्फ़िगर करें। मार्जिन सेट करें (LeftMarginInch,
RightMarginInch, TopMarginInch, BottomMarginInch), Orientation, PaperSize, स्केल,
प्रिंट एरिया, शीर्षक पंक्तियाँ और कॉलम, हेडर और फुटर, तथा पेज ब्रेक। सभी सेटिंग्स सहेजने-लोड करने के
राउंड ट्रिप में बनी रहती हैं।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Print Sheet";
sheet.Cells["A1"].PutValue("Title");
var pageSetup = sheet.PageSetup;
pageSetup.Orientation = PageOrientationType.Landscape;
pageSetup.PaperSize = PaperSizeType.PaperA4;
pageSetup.PrintArea = "$A$1:$C$10";
pageSetup.PrintTitleRows = "$1:$2";
pageSetup.LeftHeader = "Left Header";
pageSetup.CenterFooter = "Center Footer";
pageSetup.PrintGridlines = true;
pageSetup.CenterHorizontally = true;
workbook.Save("page-setup-sample.xlsx");
वर्कशीट सेटिंग्स और सुरक्षा
Worksheet.ShowGridlines, ShowRowColumnHeaders,
ShowZeros, RightToLeft, Zoom, और TabColor के साथ प्रति‑शीट प्रदर्शन को नियंत्रित करें। Worksheet.Protect() के साथ शीट्स की सुरक्षा करें
और सूक्ष्म‑स्तरीय Protection फ़्लैग्स (Objects, FormatCells, InsertRows,
AutoFilter, SelectLockedCells) को कॉन्फ़िगर करें। पंक्ति की ऊँचाई, कॉलम की चौड़ाई, छिपी पंक्तियों/कॉलमों, और
मर्ज्ड क्षेत्रों को Cells.Rows, Cells.Columns, और Cells.Merge() के माध्यम से प्रबंधित करें।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var layout = workbook.Worksheets[0];
layout.Name = "Layout";
layout.VisibilityType = VisibilityType.Hidden;
layout.TabColor = Color.FromArgb(255, 34, 68, 102);
layout.ShowGridlines = false;
layout.Zoom = 85;
layout.Protect();
layout.Protection.FormatCells = true;
layout.Protection.InsertRows = true;
layout.Cells["A1"].PutValue("Merged");
layout.Cells.Rows[1].Height = 22.5d;
layout.Cells.Columns[0].Width = 18.25d;
layout.Cells.Merge(0, 0, 2, 2);
workbook.Save("worksheet-settings-sample.xlsx");
हाइपरलिंक्स और नामित रेंजेज
बाहरी, आंतरिक, और mailto: हाइपरलिंक HyperlinkCollection.Add() के माध्यम से जोड़ें। उपयोगकर्ता‑दिखाने योग्य लेबल के लिए Hyperlink.TextToDisplay और Hyperlink.ScreenTip सेट करें। DefinedNameCollection.Add() का उपयोग करके वर्कबुक या शीट स्कोप पर नामित रेंज परिभाषित करें — नामित रेंज स्थिर फ़ॉर्मूला एंकर और चार्ट डेटा स्रोत के रूप में कार्य करती हैं जो फ़ाइल पुनःलोड होने पर भी बनी रहती हैं।
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Docs");
var link = sheet.Hyperlinks[sheet.Hyperlinks.Add("A1", 1, 1, "https://example.com/docs")];
link.TextToDisplay = "Docs";
link.ScreenTip = "External documentation";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("PrimaryRange", "='Sheet1'!$A$1:$D$5")];
name.Comment = "Primary data range";
workbook.Save("hyperlinks-names.xlsx");
Console.WriteLine("Hyperlinks: " + sheet.Hyperlinks.Count);
Console.WriteLine("Defined names: " + workbook.DefinedNames.Count);
त्वरित प्रारंभ
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].Formula = "=B1*2";
workbook.Save("output.xlsx");
समर्थित फ़ॉर्मेट
| फ़ॉर्मेट | एक्सटेंशन | पढ़ें | लिखें |
|---|---|---|---|
| Xlsx | .xlsx | ✓ | ✓ |
| Auto | (various) | ✓ | — |
ओपन सोर्स और लाइसेंसिंग
Aspose.Cells FOSS for .NET MIT लाइसेंस के तहत प्रकाशित किया गया है और NuGet के माध्यम से वितरित किया जाता हैAspose.Cells_FOSS. यह ओपन‑सोर्स और व्यावसायिक दोनों प्रकार के प्रोजेक्ट्स के लिए उपयुक्त है।