مقدمة

Aspose.Cells FOSS for .NET هو مكتبة صافية مكتوبة بإدارة الكود، مرخصة بموجب MIT، لقراءة وكتابة، ومعالجة دفاتر عمل Excel .xlsx دون أي اعتماد على Microsoft Office. يتم تثبيتها كحزمة Aspose.Cells_FOSS NuGet، وتندمج في أي مشروع .NET — تطبيقات سطر الأوامر، ويب واجهات برمجة التطبيقات، العمال الخلفيين، والوظائف الخالية من الخادم.

توفر هذه المشاركة استعراضًا تفصيليًا للميزات في واجهة برمجة التطبيقات العامة، موضحة ما هو ممكن وكيفية استدعاء كل قدرة من كود C#.


نظرة عامة على الميزة

دورة حياة دفتر العمل وورقة العمل

نقطة الدخول لكل عملية هي الفئة Workbook. أنشئ واحدة من الصفر باستخدام new Workbook()، أو حمّل .xlsx موجودًا باستخدام new Workbook(filePath) أو new Workbook(stream). تنقل بين الأوراق عبر Workbook.Worksheets، عيّن Worksheet.Name وWorksheet.VisibilityType، واحفظ باستخدام Workbook.Save(). للملفات التالفة، مرّر كائن LoadOptions مع TryRepairPackage = true وTryRepairXml = true.

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. اضبط صيغ Excel باستخدام الخاصية 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 للخلايا المطابقة، وقم بتكوين الأولوية وسلوك الإيقاف إذا كان صحيحًا لكل قاعدة.

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، BottomMarginInchOrientation، 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
تلقائي(متنوعة)

المصدر المفتوح والترخيص

Aspose.Cells FOSS for .NET يتم نشره تحت رخصة MIT ويتم توزيعه عبر NuGet كـ Aspose.Cells_FOSS. وهو مناسب للمشاريع المفتوحة المصدر والتجارية على حد سواء.


البدء

الموارد ذات الصلة