Aspose.Cells FOSS برای .NET یک کتابخانه منبع باز، رایگان و تحت مجوز MIT برای کار با فایلهای صفحهگسترده Excel در برنامههای .NET است. آن را با یک فرمان dotnet add package Aspose.Cells_FOSS نصب کنید و شروع به ایجاد کتابکارها، خواندن سلولها، اعمال سبکها، افزودن قالببندی شرطی، پیوندهای فراگیر، اعتبارسنجی دادهها و فیلترهای خودکار کنید — همه بدون نیاز به Microsoft Excel یا هر کتابخانه بومی Office.
این کتابخانه یک API تمیز ارائه میدهد که بر پایهٔ 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");