Aspose.Cells FOSS for .NET هي مكتبة مجانية مفتوحة المصدر مرخصة بموجب رخصة MIT للعمل مع ملفات جداول بيانات Excel في تطبيقات .NET. قم بتثبيتها بأمر واحد dotnet add package Aspose.Cells_FOSS وابدأ بإنشاء دفاتر العمل، قراءة الخلايا، تطبيق الأنماط، إضافة التنسيق الشرطي، الروابط التشعبية، التحقق من صحة البيانات، والفلاتر التلقائية — كل ذلك دون الحاجة إلى Microsoft Excel أو أي مكتبة Office أصلية.
تُظهر المكتبة واجهة برمجة تطبيقات نظيفة مبنية حول Workbook و Worksheet و Cells و Cell — الكائنات المألوفة التي يعرفها كل مطور جداول بيانات. أنشئ كائن Workbook لتحميل ملف .xlsx موجود أو لإنشاء ملف فارغ، وادخل إلى أوراق العمل عبر مجموعة Worksheets، واقرأ واكتب قيم الخلايا باستخدام PutValue، وطبق الأنماط عبر GetStyle()/SetStyle(). تُخزن الصيغ نصيًا كما هي وتُقيمها العارض عند الفتح، وليس المكتبة أثناء وقت التشغيل.
نظرًا لأن المكتبة عبارة عن شفرة .NET مُدارة بالكامل دون أي تبعيات أصلية، فإنها تعمل بنفس الطريقة على Windows و macOS و Linux وحاويات Docker وبيئات الخوادم غير التقليدية مثل Azure Functions و AWS Lambda. تسمح رخصة MIT بالاستخدام التجاري غير المقيد دون أي حقوق ملكية أو تراخيص مقاعد أو رسوم نشر لكل عملية نشر.
Workbook(fileName) and Save(fileName).string, int, bool, decimal, and DateTime values with Cell.PutValue(value).Cell.StringValue, Cell.Value, and Cell.IntValue.Cell.Formula — evaluated by Excel on open.Workbook.Worksheets..xlsx without Office.CellStyle.Font.CellStyle.ForegroundColor and FillPattern.Solid.FormatConditionType.CellValue, Expression, ColorScale, DataBar, and IconSet rules via Worksheet.ConditionalFormattings.StyleRepository.Normalize(style) for consistent style application.ValidationCollection.Add().OperatorType.Between, GreaterThan, LessThan, and others.ValidationType.WholeNumber, Decimal, List, Date, or Custom.AutoFilter and AutoFilter.FilterColumns.CellArea.CreateCellArea(start, end).HyperlinkCollection.Add().DefinedNameCollection.Add().WorkbookProtection.Worksheet.Protect().LoadDiagnostics and LoadIssue.Install the NuGet package, then create a Workbook, access the first Worksheet, and write values to cells using PutValue. The example demonstrates writing multiple value types and performing a save-and-reload round trip.
dotnet add package Aspose.Cells_FOSS
using Aspose.Cells_FOSS;
var outputPath = "cell-data-roundtrip.xlsx";
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Cells["A1"].PutValue("Hello");
sheet.Cells["B1"].PutValue(123);
sheet.Cells["C1"].PutValue(true);
sheet.Cells["D1"].PutValue(12.5m);
sheet.Cells["F1"].PutValue(10);
sheet.Cells["G1"].Formula = "=F1*2";
workbook.Save(outputPath);
var loaded = new Workbook(outputPath);
var loadedSheet = loaded.Worksheets[0];
Console.WriteLine(loadedSheet.Cells["A1"].StringValue);
Console.WriteLine(loadedSheet.Cells["G1"].Formula);
Add conditional formatting rules to highlight cell ranges. The example applies a between-value rule with a solid fill, an expression rule, a color scale, a data bar, and an icon set.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Conditional Formatting";
for (var i = 0; i < 10; i++)
sheet.Cells[i, 0].PutValue(i + 1);
var cfCol = sheet.ConditionalFormattings[sheet.ConditionalFormattings.Add()];
cfCol.AddArea(CellArea.CreateCellArea("A1", "A10"));
var rule = cfCol[cfCol.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");
Create external and internal hyperlinks, then define named ranges scoped to the workbook or a specific sheet.
using Aspose.Cells_FOSS;
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.Name = "Links";
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 docs";
var name = workbook.DefinedNames[workbook.DefinedNames.Add("GlobalRange", "='Links'!$A$1:$D$5")];
name.Comment = "Primary sample range";
workbook.Save("hyperlinks-and-names.xlsx");