diff --git a/cells/arabic/net/converting-excel-files-to-other-formats/_index.md b/cells/arabic/net/converting-excel-files-to-other-formats/_index.md index 20ba1664bb..a8c7ed194a 100644 --- a/cells/arabic/net/converting-excel-files-to-other-formats/_index.md +++ b/cells/arabic/net/converting-excel-files-to-other-formats/_index.md @@ -66,6 +66,8 @@ الوصف: تعرف على كيفية تتبع تقدم تحويل المستندات برمجيًا باستخدام Aspose.Cells لـ .NET في هذا البرنامج التعليمي المفصل. ### [تتبع تقدم تحويل المستندات لـ TIFF برمجيًا في .NET](./tracking-document-conversion-progress-for-tiff/) تعلم كيفية تتبع تقدم تحويل TIFF برمجيًا باستخدام Aspose.Cells لـ .NET من خلال دليلنا المفصل. حسّن مهاراتك في إدارة المستندات. +### [كيفية حفظ DOCX من Excel – دليل شامل لتصدير المخططات إلى Word](./how-to-save-docx-from-excel-complete-guide-to-export-charts/) +تعلم خطوة بخطوة كيفية حفظ ملف Excel كـ DOCX وتصدير المخططات إلى مستند Word باستخدام Aspose.Cells لـ .NET. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/converting-excel-files-to-other-formats/how-to-save-docx-from-excel-complete-guide-to-export-charts/_index.md b/cells/arabic/net/converting-excel-files-to-other-formats/how-to-save-docx-from-excel-complete-guide-to-export-charts/_index.md new file mode 100644 index 0000000000..6c95ecbe50 --- /dev/null +++ b/cells/arabic/net/converting-excel-files-to-other-formats/how-to-save-docx-from-excel-complete-guide-to-export-charts/_index.md @@ -0,0 +1,243 @@ +--- +category: general +date: 2026-02-28 +description: تعلم كيفية حفظ ملف DOCX من Excel بسرعة. يوضح هذا الدرس أيضًا كيفية تحويل + Excel إلى DOCX، وتصدير مصنف Excel إلى Word، والحفاظ على الرسوم البيانية دون تعديل. +draft: false +keywords: +- how to save docx +- convert excel to docx +- convert xlsx to docx +- export excel workbook word +- export chart to word +language: ar +og_description: اكتشف كيفية حفظ ملف DOCX من Excel، وتحويل XLSX إلى DOCX، وتصدير المخططات + إلى Word باستخدام مثال بسيط بلغة C#. +og_title: كيفية حفظ ملف DOCX من Excel – تصدير المخططات إلى Word +tags: +- C# +- Aspose.Cells +- Office Automation +title: كيفية حفظ ملف DOCX من Excel – دليل كامل لتصدير المخططات إلى Word +url: /ar/net/converting-excel-files-to-other-formats/how-to-save-docx-from-excel-complete-guide-to-export-charts/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية حفظ DOCX من Excel – دليل كامل لتصدير المخططات إلى Word + +هل تساءلت يومًا **كيف تحفظ DOCX** مباشرةً من مصنف Excel دون نسخ‑لصق يدوي؟ ربما تكون تبني محرك تقارير وتحتاج إلى ظهور المخطط في مستند Word تلقائيًا. الخبر السار؟ الأمر سهل جدًا مع المكتبة المناسبة. في هذا الدرس سنستعرض تحويل ملف `.xlsx` إلى `.docx`، وتصدير المصنف بالكامل **و** مخططاته إلى Word—كل ذلك في بضع أسطر من C#. + +سنتطرق أيضًا إلى مهام ذات صلة مثل **convert Excel to DOCX**، **convert XLSX to DOCX**، و **export Excel workbook to Word** لأولئك الذين يحتاجون إلى الورقة كاملةً، وليس فقط المخطط. في النهاية، ستحصل على مقطع جاهز للتنفيذ يمكنك إدراجه في أي مشروع .NET. + +> **المتطلبات المسبقة** – ستحتاج إلى: +> - .NET 6+ (أو .NET Framework 4.6+) +> - Aspose.Cells for .NET (نسخة تجريبية مجانية أو نسخة مرخصة) +> - فهم أساسي لـ C# وإدخال/إخراج الملفات +> +> لا توجد أدوات طرف ثالث أخرى مطلوبة. + +--- + +## لماذا تصدير Excel إلى Word بدلاً من استخدام PDF؟ + +قبل أن نغوص في الكود، دعنا نجيب على سؤال “لماذا”. مستندات Word لا تزال الصيغة المفضلة للتقارير القابلة للتعديل، والعقود، والقوالب. على عكس ملفات PDF، يتيح DOCX للمستخدمين تعديل النص، استبدال المتغيرات، أو دمج البيانات لاحقًا. إذا كان سير عملك يتضمن تعديلًا لاحقًا، فإن **export Excel workbook to Word** هو الخيار الأذكى. + +## تنفيذ خطوة بخطوة + +فيما يلي ستجد كل مرحلة مفصلة مع شروحات واضحة. لا تتردد في نسخ الكتلة الكاملة في النهاية للحصول على برنامج كامل قابل للتنفيذ. + +### ## الخطوة 1: إعداد المشروع وإضافة Aspose.Cells + +أولاً، أنشئ تطبيق console جديد (أو دمجه في الخدمة الحالية). ثم أضف حزمة NuGet الخاصة بـ Aspose.Cells: + +```bash +dotnet add package Aspose.Cells +``` + +> **نصيحة احترافية:** استخدم أحدث نسخة مستقرة (اعتبارًا من فبراير 2026 هي 24.10). الإصدارات الأحدث تتضمن إصلاحات للأخطاء في عرض المخططات. + +### ## الخطوة 2: تحميل مصنف Excel الذي يحتوي على المخطط + +تحتاج إلى ملف `.xlsx` مصدر. في مثالنا، المصنف موجود في `YOUR_DIRECTORY/AdvancedChart.xlsx`. تمثل فئة `Workbook` المصنف بأكمله، بما في ذلك أي مخططات مدمجة. + +```csharp +using Aspose.Cells; + +try +{ + // Load the Excel file that holds the chart you want to export + Workbook workbook = new Workbook("YOUR_DIRECTORY/AdvancedChart.xlsx"); +} +catch (Exception ex) +{ + Console.WriteLine($"Failed to load workbook: {ex.Message}"); + return; +} +``` + +**لماذا هذا مهم:** تحميل المصنف يمنحك الوصول إلى أوراق العمل، الخلايا، وكائنات المخططات. إذا كان الملف مفقودًا أو تالفًا، سيظهر كتلة الـ catch المشكلة مبكرًا—مما يوفر عليك ملفات Word فارغة غامضة لاحقًا. + +### ## الخطوة 3: تكوين خيارات حفظ DOCX لتضمين المخططات + +تتيح لك Aspose.Cells ضبط عملية التصدير بدقة عبر `DocxSaveOptions`. ضبط `ExportChart = true` يخبر المكتبة بدمج أي كائنات مخطط في مستند Word الناتج. + +```csharp +// Prepare DOCX options – we want charts to be part of the export +DocxSaveOptions docxOptions = new DocxSaveOptions +{ + ExportChart = true, // <-- critical for exporting charts + ExportOleObjects = true, // optional: keep embedded objects + ExportPrintArea = true // optional: respect print area settings +}; +``` + +> **ماذا لو لم أكن بحاجة إلى المخططات؟** ببساطة اضبط `ExportChart = false` وسيتخطى التصديرها، مما يقلل حجم الملف. + +### ## الخطوة 4: حفظ المصنف كملف DOCX + +الآن يحدث الجزء الأكبر من العمل. طريقة `Save` تأخذ مسار الهدف، الصيغة (`SaveFormat.Docx`)، والخيارات التي قمنا بتكوينها للتو. + +```csharp +try +{ + // Export the entire workbook—including charts—to a Word document + workbook.Save("YOUR_DIRECTORY/Result.docx", SaveFormat.Docx, docxOptions); + Console.WriteLine("Export successful! Check YOUR_DIRECTORY/Result.docx"); +} +catch (Exception ex) +{ + Console.WriteLine($"Error during export: {ex.Message}"); +} +``` + +**النتيجة:** يحتوي `Result.docx` على كل ورقة عمل كجدول وأي مخططات تم عرضها كصور عالية الدقة، جاهزة للتعديل في Microsoft Word. + +### ## الخطوة 5: التحقق من النتيجة (اختياري لكن موصى به) + +افتح ملف DOCX المُولد في Word. يجب أن ترى: + +- كل ورقة عمل تحولت إلى جدول منسق بشكل جميل. +- أي مخطط (مثل مخطط خط أو مخطط دائري) يُعرض تمامًا كما هو في Excel. +- حقول نصية قابلة للتحرير إذا كان لديك متغيرات placeholder. + +إذا كان المخطط مفقودًا، تحقق مرة أخرى من أن `ExportChart` فعلاً `true` وأن المصنف المصدر يحتوي فعليًا على كائن مخطط. + +## مثال كامل يعمل + +فيما يلي البرنامج الكامل الذي يمكنك لصقه في `Program.cs`. استبدل `YOUR_DIRECTORY` بمسار مطلق أو نسبي على جهازك. + +```csharp +using System; +using Aspose.Cells; + +namespace ExcelToWordExport +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Load the workbook that has the chart + string sourcePath = "YOUR_DIRECTORY/AdvancedChart.xlsx"; + string outputPath = "YOUR_DIRECTORY/Result.docx"; + + Workbook workbook; + try + { + workbook = new Workbook(sourcePath); + Console.WriteLine("Workbook loaded successfully."); + } + catch (Exception loadEx) + { + Console.WriteLine($"Failed to load workbook: {loadEx.Message}"); + return; + } + + // 2️⃣ Configure DOCX options – we want charts in the Word file + DocxSaveOptions docxOptions = new DocxSaveOptions + { + ExportChart = true, + ExportOleObjects = true, + ExportPrintArea = true + }; + + // 3️⃣ Save as DOCX + try + { + workbook.Save(outputPath, SaveFormat.Docx, docxOptions); + Console.WriteLine($"Export completed! File saved at: {outputPath}"); + } + catch (Exception saveEx) + { + Console.WriteLine($"Error while saving DOCX: {saveEx.Message}"); + } + } + } +} +``` + +**المخرجات المتوقعة في وحدة التحكم:** + +``` +Workbook loaded successfully. +Export completed! File saved at: YOUR_DIRECTORY/Result.docx +``` + +## تنوعات شائعة وحالات حافة + +### تحويل ورقة عمل واحدة فقط + +إذا كنت تحتاج ورقة واحدة فقط، اضبط خاصية `WorksheetIndex` في `SaveOptions`: + +```csharp +docxOptions.WorksheetIndex = 0; // first sheet only +``` + +### تحويل XLSX إلى DOCX بدون مخططات + +عند **convert XLSX to DOCX** ولكن لا تحتاج المخطط، فقط غيّر قيمة العلامة: + +```csharp +docxOptions.ExportChart = false; +``` + +### تصدير إلى Word باستخدام Memory Stream + +لواجهات برمجة التطبيقات الويب قد ترغب في إرجاع DOCX كمصفوفة بايت: + +```csharp +using (MemoryStream ms = new MemoryStream()) +{ + workbook.Save(ms, SaveFormat.Docx, docxOptions); + byte[] docxBytes = ms.ToArray(); + // send docxBytes as a file download response +} +``` + +### التعامل مع الملفات الكبيرة + +إذا كان المصنف كبيرًا (مئات الميجابايت)، فكر في زيادة `MemorySetting`: + +```csharp +docxOptions.MemorySetting = MemorySetting.MemoryPreference; // uses disk cache +``` + +## نصائح احترافية ومخاطر + +- **Chart Types:** معظم أنواع المخططات (Column, Line, Pie) تُصدر بلا مشاكل. بعض المخططات المركبة المعقدة قد تفقد بعض التنسيقات البسيطة—اختبرها مبكرًا. +- **Fonts:** يستخدم Word محركه الخاص لتصيير الخطوط. إذا تم استخدام خط مخصص في Excel، تأكد من تثبيته على الخادم؛ وإلا سيستبدله Word. +- **Performance:** عملية التصدير تعتمد على I/O. للمعالجة الدفعية، أعد استخدام نسخة واحدة من `Workbook` حيثما أمكن وتأكد من تحرير الـ streams فورًا. +- **Licensing:** Aspose.Cells تجارية. في بيئة الإنتاج ستحتاج إلى ترخيص صالح؛ وإلا سيظهر علامة مائية في النتيجة. + +## الخلاصة + +أنت الآن تعرف **كيفية حفظ DOCX** من مصنف Excel، وكيفية **convert Excel to DOCX**، وكيفية **export chart to Word** باستخدام Aspose.Cells لـ .NET. الخطوات الأساسية—التحميل، التكوين، الحفظ—بسطة، لكنها مرنة بما يكفي لتطبيقات العالم الحقيقي مثل إنشاء تقارير جاهزة للعميل أو أتمتة خطوط أنابيب المستندات. + +هل لديك المزيد من الأسئلة؟ ربما تحتاج إلى **export Excel workbook word** مع رؤوس مخصصة، أو تتساءل عن دمج ملفات DOCX متعددة بعد التصدير. لا تتردد في استكشاف وثائق Aspose أو ترك تعليق أدناه. برمجة سعيدة، واستمتع بتحويل جداول البيانات إلى مستندات Word قابلة للتعديل دون أي جهد يدوي! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/data-manipulation/_index.md b/cells/arabic/net/data-manipulation/_index.md index fccc5d736e..42297de4f2 100644 --- a/cells/arabic/net/data-manipulation/_index.md +++ b/cells/arabic/net/data-manipulation/_index.md @@ -95,7 +95,8 @@ ### [إزالة المسافات الزائدة من HTML باستخدام Aspose.Cells لـ .NET: دليل كامل](./trim-redundant-spaces-html-aspose-cells-net) تعرف على كيفية قص المسافات الزائدة بكفاءة من بيانات HTML باستخدام Aspose.Cells لـ .NET، مما يعزز مهاراتك في استيراد البيانات ومعالجتها في Excel. - +### [كيفية إنشاء مصفوفة في Excel باستخدام C# – دليل خطوة بخطوة](./how-to-create-array-in-excel-with-c-step-by-step-guide/) +تعرّف على كيفية إنشاء مصفوفة في Excel باستخدام C# خطوة بخطوة لتسهيل معالجة البيانات وتطبيقات التحليل. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/data-manipulation/how-to-create-array-in-excel-with-c-step-by-step-guide/_index.md b/cells/arabic/net/data-manipulation/how-to-create-array-in-excel-with-c-step-by-step-guide/_index.md new file mode 100644 index 0000000000..7b3178be96 --- /dev/null +++ b/cells/arabic/net/data-manipulation/how-to-create-array-in-excel-with-c-step-by-step-guide/_index.md @@ -0,0 +1,248 @@ +--- +category: general +date: 2026-02-28 +description: كيفية إنشاء مصفوفة في Excel باستخدام C#. تعلم توليد الأرقام، تقييم الصيغة، + إنشاء مصنف Excel وحفظ ملف Excel في دقائق. +draft: false +keywords: +- how to create array +- create excel workbook +- save excel file +- how to evaluate formula +- how to generate numbers +language: ar +og_description: كيفية إنشاء مصفوفة في Excel باستخدام C#. يوضح هذا الدرس كيفية توليد + الأرقام، تقييم صيغة، إنشاء مصنف وحفظ الملف. +og_title: كيفية إنشاء مصفوفة في إكسل باستخدام C# – دليل كامل +tags: +- C# +- Excel +- Aspose.Cells +- Automation +title: كيفية إنشاء مصفوفة في إكسل باستخدام C# – دليل خطوة بخطوة +url: /ar/net/data-manipulation/how-to-create-array-in-excel-with-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية إنشاء مصفوفة في Excel باستخدام C# – دليل برمجة كامل + +هل تساءلت يومًا **how to create array** في Excel برمجيًا باستخدام C#؟ لست الوحيد—المطورون يطلبون باستمرار طريقة سريعة لإنشاء مجموعة من الأرقام دون كتابة يدوية. في هذا الدليل سنستعرض الخطوات الدقيقة **create excel workbook**، وإدراج صيغة **generates numbers**، **evaluate the formula**، وأخيرًا **save excel file** حتى تتمكن من فتحها في Excel ورؤية النتيجة. + +سنستخدم مكتبة Aspose.Cells لأنها تمنحنا تحكمًا كاملاً في الصيغ والحساب دون الحاجة إلى تثبيت Excel. إذا كنت تفضل مكتبة أخرى فإن المفاهيم تبقى نفسها—فقط استبدل استدعاءات الـ API. + +## ما يغطيه هذا الدرس + +- إعداد مشروع C# مع حزمة NuGet المطلوبة. +- إنشاء مصنف جديد (هذا هو جزء *create excel workbook*). +- كتابة صيغة تُنشئ مصفوفة 4‑صف × 3‑عمود باستخدام `SEQUENCE` و `WRAPCOLS`. +- إجبار المحرك على **evaluate the formula** حتى تتجسد المصفوفة. +- حفظ المصنف على القرص (**save excel file**) والتحقق من النتيجة. + +بنهاية هذا الشرح ستحصل على برنامج قابل للتنفيذ ينتج ورقة Excel تبدو هكذا: + +| A | B | C | +|---|---|---| +| 1 | 2 | 3 | +| 4 | 5 | 6 | +| 7 | 8 | 9 | +|10 |11 |12 | + +![كيفية إنشاء مصفوفة في Excel – الورقة الناتجة بعد تشغيل كود C#](image.png) + +*(يتضمن نص بديل الصورة الكلمة المفتاحية الأساسية “how to create array” لتحسين محركات البحث.)* + +--- + +## المتطلبات المسبقة + +- .NET 6.0 SDK أو أحدث (الكود يعمل أيضًا على .NET Framework 4.6+). +- Visual Studio 2022 أو أي محرر تفضله. +- حزمة NuGet **Aspose.Cells** (يتوفر نسخة تجريبية مجانية). + +لا يلزم تثبيت Excel إضافيًا لأن Aspose.Cells يتولى محرك الحساب داخليًا. + +--- + +## الخطوة 1: إعداد المشروع واستيراد Aspose.Cells + +للبدء، أنشئ تطبيق console وأضف المكتبة: + +```bash +dotnet new console -n ExcelArrayDemo +cd ExcelArrayDemo +dotnet add package Aspose.Cells +``` + +الآن افتح **Program.cs** وأضف مساحة الاسم: + +```csharp +using Aspose.Cells; +``` + +*لماذا هذا مهم*: استيراد `Aspose.Cells` يزودنا بـ `Workbook` و `Worksheet` وفئات الحساب التي سنحتاجها **create excel workbook** والعمل مع الصيغ. + +--- + +## الخطوة 2: إنشاء المصنف والورقة المستهدفة + +نحتاج إلى كائن مصنف جديد؛ الورقة الأولى (`Worksheets[0]`) ستستضيف المصفوفة. + +```csharp +// Step 2: Create a new workbook and get the first worksheet +Workbook workbook = new Workbook(); // creates an empty .xlsx in memory +Worksheet ws = workbook.Worksheets[0]; // reference to Sheet1 +``` + +*شرح*: فئة `Workbook` تمثل ملف Excel بالكامل. بشكل افتراضي تحتوي على ورقة واحدة، وهو مثالي لعرض توضيحي بسيط. إذا احتجت أوراقًا إضافية يمكنك استدعاء `workbook.Worksheets.Add()` لاحقًا. + +--- + +## الخطوة 3: كتابة صيغة **Generates Numbers** وتشكيل مصفوفة + +تسمح لنا دوال المصفوفة الديناميكية في Excel (`SEQUENCE` و `WRAPCOLS`) بإنتاج كتلة من القيم بصيغة واحدة. هذا هو النص الدقيق الذي سنعيّنه: + +```csharp +// Step 3: Assign a formula that creates a 4‑row × 3‑col array +// SEQUENCE(12,1,1,1) generates numbers 1‑12; WRAPCOLS wraps them into 3 columns +ws.Cells["A1"].Formula = "=WRAPCOLS(SEQUENCE(12,1,1,1),3)"; +``` + +*لماذا يعمل هذا*: +- `SEQUENCE(12,1,1,1)` تُعيد قائمة عمودية بالأرقام من 1 إلى 12. +- `WRAPCOLS(...,3)` تأخذ تلك القائمة وتملأها عبر ثلاثة أعمدة، مع الانسكاب تلقائيًا إلى الصفوف التالية. + +إذا فتحت المصنف في Excel **دون** تقييم الصيغة أولًا، سترى نص الصيغة فقط في `A1`. الخطوة التالية تجبر الحساب. + +--- + +## الخطوة 4: **Evaluate the Formula** حتى تتجسد المصفوفة + +Aspose.Cells لا يعيد حساب الصيغ تلقائيًا عند الكتابة، لذا نستدعي محرك الحساب صراحةً: + +```csharp +// Step 4: Evaluate the formula so the array is materialised in the sheet +workbook.Calculate(); // runs all pending formulas +``` + +*ما يحدث*: `Calculate()` يمر على كل خلية تحتوي على صيغة، يحسب نتيجتها، ويكتب القيم مرة أخرى. هذا هو جزء **how to evaluate formula** في دليلنا. بعد هذا الاستدعاء، تحتوي الخلايا A1:C4 على الأرقام من 1 إلى 12، تمامًا كما يحدث في Excel الأصلي. + +--- + +## الخطوة 5: **Save Excel File** والتحقق من النتيجة + +أخيرًا نقوم بحفظ المصنف على القرص: + +```csharp +// Step 5: Save the workbook to view the result +string outputPath = Path.Combine(Environment.CurrentDirectory, "output.xlsx"); +workbook.Save(outputPath); +Console.WriteLine($"Workbook saved to {outputPath}"); +``` + +افتح `output.xlsx` في Excel وسترى المصفوفة 4 × 3 التي أنشأناها. إذا كنت تستخدم نسخة Excel أقدم من 365/2019، لن تُعترف بدوال المصفوفة الديناميكية—ستظل Aspose.Cells تكتب القيم المُحسوبة، لذا يظل الملف قابلًا للاستخدام. + +*نصيحة احترافية*: استخدم `SaveFormat.Xlsx` إذا أردت فرض تنسيق معين، مثال: `workbook.Save(outputPath, SaveFormat.Xlsx);`. + +--- + +## مثال كامل جاهز للنسخ (Copy‑Paste Ready) + +فيما يلي البرنامج الكامل. الصقه في **Program.cs**، شغّله بـ `dotnet run`، وستحصل على `output.xlsx` في مجلد المشروع. + +```csharp +using System; +using System.IO; +using Aspose.Cells; + +namespace ExcelArrayDemo +{ + class Program + { + static void Main() + { + // 1️⃣ Create a new workbook and grab the first worksheet + Workbook workbook = new Workbook(); // in‑memory workbook + Worksheet ws = workbook.Worksheets[0]; // default sheet (Sheet1) + + // 2️⃣ Drop the formula that builds a 4‑row × 3‑col array + // SEQUENCE creates numbers 1‑12; WRAPCOLS arranges them into 3 columns + ws.Cells["A1"].Formula = "=WRAPCOLS(SEQUENCE(12,1,1,1),3)"; + + // 3️⃣ Force the calculation engine to evaluate the formula + workbook.Calculate(); // now the array is "spilled" into A1:C4 + + // 4️⃣ Save the file so you can open it in Excel + string outputPath = Path.Combine(Environment.CurrentDirectory, "output.xlsx"); + workbook.Save(outputPath); + Console.WriteLine($"✅ Workbook saved to {outputPath}"); + } + } +} +``` + +**المخرجات المتوقعة** (في وحدة التحكم): + +``` +✅ Workbook saved to C:\Path\To\ExcelArrayDemo\output.xlsx +``` + +افتح الملف وسترى الأرقام من 1 إلى 12 مرتبة كما هو موضح أعلاه. + +--- + +## تنويعات وحالات خاصة + +### 1. إصدارات Excel القديمة بدون مصفوفات ديناميكية +إذا كان جمهورك يستخدم Excel 2016 أو أقدم، فإن `SEQUENCE` و `WRAPCOLS` غير موجودين. حل سريع هو توليد الأرقام في C# وكتابتها مباشرة: + +```csharp +int value = 1; +for (int row = 0; row < 4; row++) +{ + for (int col = 0; col < 3; col++) + { + ws.Cells[row, col].PutValue(value++); + } +} +``` + +هذه الحلقة اليدوية تُحاكي النتيجة نفسها، وإن كان الكود أطول قليلاً. يبقى مفهوم **how to generate numbers** هو نفسه. + +### 2. تغيير حجم المصفوفة +هل تريد شبكة 5 × 5 بالأرقام من 1 إلى 25؟ فقط عدّل معاملات `SEQUENCE` وعدد الأعمدة في `WRAPCOLS`: + +```csharp +ws.Cells["A1"].Formula = "=WRAPCOLS(SEQUENCE(25,1,1,1),5)"; +``` + +### 3. استخدام النطاقات المسماة لإعادة الاستخدام +يمكنك تعيين النطاق المنسكب إلى اسم لاستخدامه في صيغ أخرى: + +```csharp +ws.Cells["A1"].Formula = "=WRAPCOLS(SEQUENCE(12,1,1,1),3)"; +workbook.Calculate(); // ensure the range exists +int lastRow = ws.Cells.GetLastDataRow(); // should be 3 (zero‑based) +int lastCol = ws.Cells.GetLastDataColumn(); // should be 2 +string address = $"A1:{CellIndexToName(lastRow, lastCol)}"; +ws.Workbook.Names.Add("MyArray", ws, address); +``` + +الآن يمكن لأي ورقة أخرى الإشارة إلى `MyArray` مباشرة. + +--- + +## الأخطاء الشائعة وكيفية تجنّبها + +| المشكلة | لماذا يحدث | الحل | +|---|---|---| +| **Formula not spilling** | تم حذف `Calculate()` أو استدعاؤه قبل تعيين الصيغة. | احرص دائمًا على استدعاء `workbook.Calculate()` **بعد** تعيين الصيغة. | +| **File saved but empty** | تم استخدام `SaveFormat.Csv` عن طريق الخطأ. | استخدم `SaveFormat.Xlsx` أو اترك الصيغة لتحددها Aspose تلقائيًا. | +| **Dynamic + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/document-properties/_index.md b/cells/arabic/net/document-properties/_index.md index 5c88ce8592..a4fea4014d 100644 --- a/cells/arabic/net/document-properties/_index.md +++ b/cells/arabic/net/document-properties/_index.md @@ -35,6 +35,8 @@ تعرّف على كيفية الوصول إلى خصائص المستندات في Excel باستخدام Aspose.Cells لـ .NET من خلال دليلنا المفصل. أدر جداول بياناتك بكفاءة. ### [إضافة خصائص المستند في .NET](./adding-document-properties/) تعرف على كيفية إضافة خصائص المستند في Excel باستخدام Aspose.Cells for .NET باستخدام هذا الدليل التفصيلي خطوة بخطوة. +### [كيفية إضافة خاصية مخصصة في Excel باستخدام C# – دليل خطوة بخطوة](./how-to-add-custom-property-in-excel-with-c-step-by-step-guid/) +تعلم كيفية إنشاء خاصية مخصصة في ملفات Excel باستخدام C# خطوة بخطوة مع Aspose.Cells. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/document-properties/how-to-add-custom-property-in-excel-with-c-step-by-step-guid/_index.md b/cells/arabic/net/document-properties/how-to-add-custom-property-in-excel-with-c-step-by-step-guid/_index.md new file mode 100644 index 0000000000..47510d4b12 --- /dev/null +++ b/cells/arabic/net/document-properties/how-to-add-custom-property-in-excel-with-c-step-by-step-guid/_index.md @@ -0,0 +1,233 @@ +--- +category: general +date: 2026-02-28 +description: تعلم كيفية إضافة خاصية مخصصة إلى مصنف Excel باستخدام C# وكتابة مخرجات + الكونسول بسرعة. يتضمن تحميل مصنف Excel بـ C# والوصول إلى الخصائص المخصصة بـ C#. +draft: false +keywords: +- how to add custom property +- load excel workbook c# +- write console output c# +- access custom properties c# +- get first worksheet c# +language: ar +og_description: كيفية إضافة خاصية مخصصة في Excel باستخدام C# مع شرح مفصل. تحميل المصنف، + الوصول إلى الخصائص المخصصة، وكتابة مخرجات الكونسول. +og_title: كيفية إضافة خاصية مخصصة في إكسل باستخدام C# – دليل كامل +tags: +- C# +- Excel +- Aspose.Cells +- CustomProperties +title: كيفية إضافة خاصية مخصصة في إكسل باستخدام C# – دليل خطوة بخطوة +url: /ar/net/document-properties/how-to-add-custom-property-in-excel-with-c-step-by-step-guid/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# كيفية إضافة خاصية مخصصة في Excel باستخدام C# – دليل خطوة‑بخطوة + +هل تساءلت يومًا **كيفية إضافة خاصية مخصصة** إلى ملف Excel باستخدام C#؟ في هذا الدرس سنستعرض تحميل دفتر عمل Excel، الوصول إلى الخصائص المخصصة، وطباعة النتيجة إلى وحدة التحكم. هذا سيناريو شائع عندما تحتاج إلى وضع علامة على ورقة ببيانات وصفية مثل “Department” أو “Budget” دون تعديل البيانات الظاهرة. + +ما ستحصل عليه من هذا الدليل هو حل كامل جاهز للنسخ‑واللصق يُظهر لك كيفية **load excel workbook c#**، استرجاع **first worksheet c#**، إضافة وقراءة **custom properties c#**، وأخيرًا **write console output c#**. لا مراجع غامضة للوثائق الخارجية—كل ما تحتاجه موجود هنا، بالإضافة إلى بعض النصائح الاحترافية لتجنب المشكلات الشائعة. + +--- + +## المتطلبات المسبقة + +- **.NET 6.0** أو أحدث (الكود يعمل أيضًا مع .NET Framework 4.6+). +- **Aspose.Cells for .NET** (نسخة تجريبية مجانية أو مرخصة). إذا كنت تفضّل بديلًا مفتوح المصدر، فإن EPPlus يعمل بصورة مماثلة؛ فقط استبدل مساحة الاسم وأسماء الفئات. +- بيئة تطوير C# أساسية (Visual Studio، VS Code، Rider—أي منها يناسبك). +- ملف Excel اسمه `input.xlsx` موجود في مجلد يمكنك الإشارة إليه، مثال: `C:\Data\input.xlsx`. + +> **نصيحة احترافية:** عند تثبيت Aspose.Cells عبر NuGet، الحزمة تضيف تلقائيًا توجيه `using Aspose.Cells;` الضروري، لذا لن تحتاج إلى البحث عن ملفات DLL يدويًا. + +## الخطوة 1 – تحميل دفتر عمل Excel C# (نقطة البداية) + +قبل أن تتمكن من التعامل مع الخصائص المخصصة، تحتاج إلى كائن دفتر العمل في الذاكرة. + +```csharp +using System; +using Aspose.Cells; // Make sure the Aspose.Cells NuGet package is installed + +// Define the path to your Excel file +string workbookPath = @"C:\Data\input.xlsx"; + +// Load the workbook – this is the classic way to load excel workbook c# +Workbook wb = new Workbook(workbookPath); +``` + +**لماذا هذا مهم:** تحميل دفتر العمل ينشئ كائن `Workbook` كامل المميزات يمنحك الوصول إلى الأوراق، الخلايا، ومجموعة `CustomProperties` المخفية. تخطي هذه الخطوة أو استخدام مسار غير صحيح سيتسبب في رمي استثناء `FileNotFoundException`، لذلك نحدد المسار صراحةً في البداية. + +## الخطوة 2 – الحصول على الورقة الأولى C# (حيث يحدث السحر) + +معظم جداول البيانات تحتوي على ورقة افتراضية تريد العمل معها. Aspose.Cells يخزن الأوراق في مجموعة ذات فهرس يبدأ من الصفر، لذا الأولى هي الفهرس `0`. + +```csharp +// Retrieve the first worksheet – get first worksheet c# is as simple as this +Worksheet worksheet = wb.Worksheets[0]; +``` + +**ما الفائدة؟** باستهداف الورقة الأولى مباشرة، تتجنب التكرار عبر المجموعة عندما تحتاج إلى ورقة واحدة فقط. إذا كان ملفك يحتوي على عدة أوراق وتحتاج إلى ورقة مختلفة، فقط غيّر الفهرس أو استخدم `Worksheets["SheetName"]`. + +## الخطوة 3 – إضافة خاصية مخصصة (جوهر كيفية إضافة خاصية مخصصة) + +الآن نجيب أخيرًا على السؤال الأساسي: **كيفية إضافة خاصية مخصصة** إلى ورقة عمل. + +```csharp +// Add a custom property named "Department" with value "Finance" +worksheet.CustomProperties.Add("Department", "Finance"); + +// Add a numeric custom property named "Budget" with value 1,250,000 +worksheet.CustomProperties.Add("Budget", 1250000); +``` + +### خلف الكواليس + +- `CustomProperties` هي مجموعة تتواجد على كائن `Worksheet`، وليس على دفتر العمل. +- طريقة `Add` تقبل مفتاحًا من نوع string وقيمة من نوع object، لذا يمكنك تخزين نصوص، أرقام، تواريخ، أو حتى علامات منطقية. +- Aspose.Cells يحفظ هذه الخصائص تلقائيًا داخل ملف Excel الأساسي عند حفظه لاحقًا. + +> **احذر:** إذا حاولت إضافة خاصية باسم مكرر، سيُطلق Aspose استثناء `ArgumentException`. لتحديث خاصية موجودة، استخدم `worksheet.CustomProperties["Budget"].Value = newValue;`. + +## الخطوة 4 – استرجاع واستخدام الخاصية المخصصة (Access Custom Properties C#) + +قراءة الخاصية مرة أخرى سهلة مثل كتابتها. تُظهر هذه الخطوة **access custom properties c#** وتوضح أيضًا كيفية **write console output c#**. + +```csharp +// Retrieve the "Budget" value from the custom properties collection +var budget = worksheet.CustomProperties["Budget"].Value; + +// Optional: Cast to the expected type if you need numeric operations +decimal budgetAmount = Convert.ToDecimal(budget); +``` + +**لماذا التحويل؟** خاصية `Value` تُعيد كائنًا من النوع `object`. تحويله إلى نوع رقمي يتيح لك إجراء حسابات—مثل إضافة الضريبة أو مقارنة الميزانيات—دون تكلفة إضافية للـ boxing/unboxing. + +## الخطوة 5 – كتابة ناتج وحدة التحكم C# (رؤية النتيجة) + +أخيرًا، نعرض الميزانية المسترجعة في وحدة التحكم. هذا يلبي متطلب **write console output c#**. + +```csharp +// Display the budget amount in the console +Console.WriteLine($"Budget: {budgetAmount:C0}"); +``` + +محدد التنسيق `:C0` يطبع الرقم كعملة دون أرقام عشرية، مثال: `Budget: $1,250,000`. يمكنك تعديل سلسلة التنسيق لتتناسب مع إعدادات اللغة لديك. + +## الخطوة 6 – حفظ دفتر العمل (حفظ التغييرات) + +إذا رغبت في بقاء الخصائص المخصصة بعد انتهاء الجلسة الحالية، يجب حفظ دفتر العمل. + +```csharp +// Save the workbook to a new file so you don't overwrite the original +string outputPath = @"C:\Data\output_with_properties.xlsx"; +wb.Save(outputPath); +Console.WriteLine($"Workbook saved to {outputPath}"); +``` + +**ملاحظة:** رغم أن الخصائص المخصصة مرتبطة بالورقة، إلا أنها تُخزن داخل حزمة `.xlsx`، لذا يزداد حجم الملف بشكل طفيف فقط. + +## مثال كامل جاهز للتنفيذ (Copy‑Paste Ready) + +فيما يلي البرنامج الكامل الذي يربط جميع الخطوات معًا. الصقه في مشروع وحدة تحكم جديد واضغط **F5**. + +```csharp +using System; +using Aspose.Cells; + +namespace ExcelCustomPropertiesDemo +{ + class Program + { + static void Main(string[] args) + { + // 1️⃣ Load the workbook – how to add custom property starts here + string workbookPath = @"C:\Data\input.xlsx"; + Workbook wb = new Workbook(workbookPath); + + // 2️⃣ Get the first worksheet – get first worksheet c# + Worksheet worksheet = wb.Worksheets[0]; + + // 3️⃣ Add custom properties – this is the core of how to add custom property + worksheet.CustomProperties.Add("Department", "Finance"); + worksheet.CustomProperties.Add("Budget", 1250000); + + // 4️⃣ Retrieve the budget – access custom properties c# + var budget = worksheet.CustomProperties["Budget"].Value; + decimal budgetAmount = Convert.ToDecimal(budget); + + // 5️⃣ Write console output – write console output c# + Console.WriteLine($"Budget: {budgetAmount:C0}"); + + // 6️⃣ Save the workbook so the properties persist + string outputPath = @"C:\Data\output_with_properties.xlsx"; + wb.Save(outputPath); + Console.WriteLine($"Workbook saved to {outputPath}"); + + // Keep console window open + Console.WriteLine("Press any key to exit..."); + Console.ReadKey(); + } + } +} +``` + +**الناتج المتوقع في وحدة التحكم** + +``` +Budget: $1,250,000 +Workbook saved to C:\Data\output_with_properties.xlsx +Press any key to exit... +``` + +شغّل البرنامج، افتح `output_with_properties.xlsx` في Excel، ثم انتقل إلى **File → Info → Properties → Advanced Properties → Custom**. ستظهر لك “Department” = “Finance” و “Budget” = 1250000 هناك. + +## أسئلة شائعة وحالات خاصة + +### ماذا لو كان دفتر العمل محميًا بكلمة مرور؟ + +Aspose.Cells يتيح لك فتح ملف محمي بتمرير كائن `LoadOptions` يحتوي على كلمة المرور: + +```csharp +var loadOptions = new LoadOptions(LoadFormat.Xlsx) { Password = "mySecret" }; +Workbook wb = new Workbook(workbookPath, loadOptions); +``` + +### هل يمكنني إضافة خصائص مخصصة إلى دفتر العمل نفسه بدلاً من ورقة واحدة؟ + +نعم—استخدم `wb.CustomProperties` بدلاً من `worksheet.CustomProperties`. الـ API هو نفسه، لكن النطاق يتغير من ورقة إلى الملف بأكمله. + +### هل يعمل هذا مع ملفات .xls (Excel 97‑2003)؟ + +بالطبع. Aspose.Cells يُجرد التنسيق، لذا يعمل نفس الكود مع `.xls`، `.xlsx`، `.xlsm`، إلخ. فقط تأكد أن امتداد الملف يتطابق مع التنسيق الفعلي. + +### كيف أحذف خاصية مخصصة؟ + +```csharp +worksheet.CustomProperties.Remove("Department"); +``` + +إزالة الخاصية آمنة؛ إذا لم يكن المفتاح موجودًا، لا يحدث شيء. + +## نصائح احترافية ومخاطر + +- **تجنب كتابة المسارات صراحةً** في الكود الإنتاجي. استخدم `Path.Combine` وملفات الإعدادات لجعل الأمور أكثر مرونة. +- **قم بتحرير دفتر العمل** إذا كنت تعالج العديد من الملفات في حلقة. ضعها داخل كتلة `using` أو استدعِ `wb.Dispose()` يدويًا. +- **احذر من تنسيقات الأرقام الخاصة بالثقافة** عند تحويل قيمة `object`. `Convert.ToDecimal` يراعي ثقافة الخيط الحالي، لذا اضبط `CultureInfo.InvariantCulture` إذا كنت تحتاج إلى تحليل ثابت. +- **إضافة خصائص دفعة واحدة**: إذا كان لديك عشرات من عناصر البيانات الوصفية، فكر في التكرار عبر قاموس للحفاظ على الكود DRY. + +## الخاتمة + +لقد غطينا الآن **كيفية إضافة خاصية مخصصة** إلى ورقة Excel باستخدام C#. من تحميل دفتر العمل، الحصول على الورقة الأولى، إضافة وقراءة الخصائص المخصصة، إلى كتابة النتيجة في وحدة التحكم وحفظ الملف—أصبح لديك حل كامل جاهز للنسخ. + +بعد ذلك، قد تستكشف **access custom properties c#** على مستوى دفتر العمل، أو تجرب أنواع بيانات أكثر تعقيدًا مثل التواريخ والبووليات. إذا كنت مهتمًا بأتمتة إنشاء التقارير، اطلع على دليلنا حول **write console output c#** لتسجيل مجموعات بيانات كبيرة، أو غص في سلسلة **load excel workbook c#** لتعامل متقدم مع الأوراق. + +لا تتردد في تعديل أسماء الخصائص، إضافة بياناتك الوصفية الخاصة، ودمج هذا النمط في خطوط معالجة بيانات أكبر. برمجة سعيدة، ولتظل جداولك مُعَلَّمَةً بثراء! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/excel-comment-annotation/_index.md b/cells/arabic/net/excel-comment-annotation/_index.md index d814c478c4..dbf5a9d9b7 100644 --- a/cells/arabic/net/excel-comment-annotation/_index.md +++ b/cells/arabic/net/excel-comment-annotation/_index.md @@ -38,6 +38,8 @@ تعرّف على كيفية إضافة تعليقات إلى الخلايا في Excel باستخدام Aspose.Cells لـ .NET. دليل خطوة بخطوة للمبتدئين لتحسين وظائف Excel. ### [تنسيق التعليقات - الخط واللون والمحاذاة](./format-comments-font-color-alignment/) اكتشف كيفية تنسيق تعليقات Excel بسهولة باستخدام Aspose.Cells لـ .NET. خصّص الخط والحجم والمحاذاة لتحسين جداول بياناتك. +### [إنشاء ملف Excel برمجيًا – إضافة تعليقات وحفظ كملف XLSX](./create-excel-file-programmatically-add-comments-save-as-xlsx/) +تعلم كيفية إنشاء ملف Excel برمجيًا وإضافة تعليقات ثم حفظه بصيغة XLSX باستخدام Aspose.Cells لـ .NET. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/excel-comment-annotation/create-excel-file-programmatically-add-comments-save-as-xlsx/_index.md b/cells/arabic/net/excel-comment-annotation/create-excel-file-programmatically-add-comments-save-as-xlsx/_index.md new file mode 100644 index 0000000000..22248e72e5 --- /dev/null +++ b/cells/arabic/net/excel-comment-annotation/create-excel-file-programmatically-add-comments-save-as-xlsx/_index.md @@ -0,0 +1,196 @@ +--- +category: general +date: 2026-02-28 +description: إنشاء ملف Excel برمجيًا وتعلم كيفية إضافة تعليق إلى خلية، واستخدام العلامات، + وحفظ المصنف كملف XLSX في بضع خطوات سهلة. +draft: false +keywords: +- create excel file programmatically +- add comment to cell +- save workbook as xlsx +- how to use markers +- how to add comment +language: ar +og_description: إنشاء ملف إكسل برمجيًا، إضافة تعليق إلى خلية، استخدام العلامات، وحفظ + المصنف كملف XLSX مع كود C# واضح خطوة بخطوة. +og_title: إنشاء ملف إكسل برمجيًا – دليل كامل +tags: +- Excel +- C# +- Aspose.Cells +title: إنشاء ملف إكسل برمجياً – إضافة تعليقات وحفظه بصيغة XLSX +url: /ar/net/excel-comment-annotation/create-excel-file-programmatically-add-comments-save-as-xlsx/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء ملف Excel برمجيًا – دليل كامل + +هل احتجت يومًا إلى **إنشاء ملف Excel برمجيًا** لكن لم تكن متأكدًا من أين تبدأ؟ ربما نظرت إلى ورقة عمل فارغة وفكرت، *"كيف يمكنني إضافة تعليق إلى الخلية B2 دون فتح Excel؟"* أنت لست وحدك. في هذا الدرس سنستعرض الخطوات الدقيقة لإنشاء ملف `.xlsx`، وإضافة تعليق إلى خلية باستخدام Smart Markers، وأخيرًا حفظ النتيجة على القرص. + +سنجيب أيضًا على الأسئلة المتابعة التي تظهر عادةً: **how to use markers**، **how to add comment** بطريقة قابلة لإعادة الاستخدام، وما يجب الانتباه إليه عند **save workbook as xlsx**. لا حاجة إلى مستندات خارجية—كل ما تحتاجه موجود هنا. + +--- + +## ما ستحتاجه + +- **.NET 6+** (أو .NET Framework 4.6+). يعمل الكود مع أي نسخة حديثة. +- **Aspose.Cells for .NET** – المكتبة التي تدعم معالجة Smart Marker. يمكنك الحصول عليها من NuGet (`Install-Package Aspose.Cells`). +- ملف **input.xlsx** بسيط يحتوي على عنصر نائب Smart Marker مثل `${Comment}` في مكان ما (في هذا الدليل سنفترض أنه موجود في الخلية B2). + +هذا كل شيء—لا إعداد معقد، ولا ملفات إضافية. جاهز؟ هيا نبدأ. + +--- + +## الخطوة 1: تحميل مصنف Excel — إنشاء ملف Excel برمجيًا + +أول شيء تقوم به عندما **create excel file programmatically** هو فتح قالب أو البدء من الصفر. في حالتنا نقوم بتحميل مصنف موجود مسبقًا يحتوي بالفعل على علامة. + +```csharp +using Aspose.Cells; +using System; + +class Program +{ + static void Main() + { + // Load the template that holds the ${Comment} marker + var workbook = new Workbook(@"YOUR_DIRECTORY\input.xlsx"); +``` + +> **لماذا هذا مهم:** تحميل قالب يتيح لك الحفاظ على التنسيق، الصيغ، وأي تخطيط مسبق دون تغيير. إذا بدأت بمصنف فارغ سيتعين عليك إعادة إنشاء كل ذلك يدويًا. + +--- + +## الخطوة 2: إعداد كائن البيانات — كيفية إضافة بيانات التعليق + +تستبدل Smart Markers العناصر النائبة بالقيم من كائن C# بسيط. هنا نقوم بإنشاء نوع مجهول يحتوي على نص التعليق. + +```csharp + // Create the data that will fill the ${Comment} placeholder + var commentData = new { Comment = "Reviewed by QA" }; +``` + +> **نصيحة احترافية:** يجب أن يتطابق اسم الخاصية (`Comment`) مع اسم العلامة تمامًا، وإلا لن يتمكن المعالج من العثور على أي شيء لاستبداله. + +--- + +## الخطوة 3: تشغيل معالج Smart Marker — كيفية استخدام العلامات + +الآن نمرر المصنف وكائن البيانات إلى `SmartMarkerProcessor`. هذا هو جوهر جزء **how to use markers**. + +```csharp + // Process the marker – it will replace ${Comment} with our text + new SmartMarkerProcessor().Process(workbook, commentData); +``` + +> **ما الذي يحدث خلف الكواليس؟** يقوم المعالج بفحص كل خلية، يبحث عن نمط `${…}`، ويُدخل قيمة الخاصية المقابلة. العملية سريعة، آمنة من حيث النوع، وتعمل أيضًا مع المجموعات. + +--- + +## الخطوة 4: إضافة تعليق Excel حقيقي (اختياري) — إضافة تعليق إلى الخلية + +تقوم Smart Markers بوضع النص فقط في الخلية. إذا كنت ترغب أيضًا في إضافة تعليق Excel أصلي (الملاحظة البرتقالية الصغيرة التي تظهر عند التحويم)، يمكنك ضبطه يدويًا بعد المعالجة. + +```csharp + // After processing, attach a true Excel comment to B2 + var commentCell = workbook.Worksheets[0].Cells["B2"]; + commentCell.Comment = commentCell.CreateComment(commentData.Comment, "QA Team"); +``` + +> **لماذا إضافة تعليق؟** يفضّل بعض المستخدمين الإشارة البصرية للتعليق مع استمرار رؤية النص العادي في الخلية. كما أنه مفيد لتتبع التدقيق. + +**حالة خاصة:** إذا كانت الخلية تحتوي بالفعل على تعليق، فإن `CreateComment` سيستبدله. للحفاظ على الملاحظات الحالية يمكنك التحقق من `if (commentCell.Comment != null)` وإضافة النص بدلاً من ذلك. + +--- + +## الخطوة 5: حفظ المصنف كملف XLSX — Save Workbook as XLSX + +أخيرًا، نكتب المصنف المحدث إلى ملف جديد. هذه هي الخطوة التي تقوم فعليًا بـ **save workbook as xlsx**. + +```csharp + // Persist the workbook to a new file + workbook.Save(@"YOUR_DIRECTORY\Result.xlsx", SaveFormat.Xlsx); + Console.WriteLine("Excel file created and saved successfully!"); + } +} +``` + +> **نصيحة:** يضمن تعداد `SaveFormat.Xlsx` أن يكون الملف بتنسيق OpenXML الحديث، والذي يعمل عبر جميع إصدارات Excel، Google Sheets، وLibreOffice الحديثة. + +--- + +## مثال كامل يعمل (جميع الخطوات معًا) + +فيما يلي البرنامج الكامل جاهز للنسخ واللصق. شغّله من أي تطبيق .NET Console وستحصل على `Result.xlsx` الذي يحتوي على التعليق "Reviewed by QA" ككل نص في الخلية وتعليق Excel في B2. + +```csharp +using Aspose.Cells; +using System; + +class Program +{ + static void Main() + { + // 1️⃣ Load the template with a Smart Marker (${Comment}) + var workbook = new Workbook(@"YOUR_DIRECTORY\input.xlsx"); + + // 2️⃣ Prepare the data object that matches the marker name + var commentData = new { Comment = "Reviewed by QA" }; + + // 3️⃣ Process the marker – replaces ${Comment} with the actual text + new SmartMarkerProcessor().Process(workbook, commentData); + + // 4️⃣ (Optional) Add a true Excel comment to the same cell + var cell = workbook.Worksheets[0].Cells["B2"]; + cell.Comment = cell.CreateComment(commentData.Comment, "QA Team"); + + // 5️⃣ Save the workbook as an XLSX file + workbook.Save(@"YOUR_DIRECTORY\Result.xlsx", SaveFormat.Xlsx); + + Console.WriteLine("Excel file created and saved successfully!"); + } +} +``` + +**النتيجة المتوقعة:** افتح `Result.xlsx`. الخلية B2 تُظهر "Reviewed by QA". عند التحويم فوق الخلية سترى مربع تعليق أصفر‑برتقالي يحتوي على نفس النص، من تأليف "QA Team". + +--- + +## الأسئلة المتكررة & الملاحظات + +| السؤال | الجواب | +|----------|--------| +| *هل يمكنني استخدام مجموعة من التعليقات؟* | بالتأكيد. مرّر قائمة من الكائنات إلى المعالج واستخدمها عبر `${Comments[i].Text}` داخل نطاق. | +| *ماذا لو كان القالب يحتوي على علامات متعددة؟* | فقط أضف المزيد من الخصائص إلى كائن البيانات (أو استخدم كائنًا معقدًا) وسيستبدل المعالج كل واحدة. | +| *هل أحتاج إلى ترخيص لـ Aspose.Cells؟* | التقييم المجاني يعمل، لكن للإنتاج ستحتاج إلى ترخيص صالح لتجنب علامة التقييم. | +| *هل هذا الأسلوب آمن للـ thread؟* | نعم، طالما أن كل خيط يعمل مع نسخة `Workbook` الخاصة به. | +| *هل يمكنني استهداف تنسيق .xls القديم؟* | غيّر `SaveFormat.Xlsx` إلى `SaveFormat.Excel97To2003`. باقي الكود يبقى كما هو. | + +--- + +## الخطوات التالية والمواضيع ذات الصلة + +الآن بعد أن عرفت كيف **create excel file programmatically**، قد ترغب في استكشاف: + +- **استيراد بيانات جماعي** باستخدام Smart Markers مع المجموعات. +- **تنسيق الخلايا** (الخطوط، الألوان) برمجيًا بعد مرحلة المعالجة. +- **إنشاء مخططات** بشكل فوري باستخدام Aspose.Cells. +- **قراءة التعليقات الموجودة** وتحديثها جماعيًا. + +جميع هذه تعتمد على نفس المفاهيم التي غطيناها—تحميل المصنف، تزويده بالبيانات، وحفظ النتيجة. + +--- + +## الخلاصة + +لقد استعرضنا للتو دورة الحياة الكاملة لـ **creating an Excel file programmatically**، بدءًا من تحميل قالب، **إضافة تعليق إلى خلية**، استخدام **Smart Markers**، وأخيرًا **saving the workbook as XLSX**. الكود قصير، والمفاهيم واضحة، ويمكنك تكييفه مع أي سيناريو أتمتة—سواءً تقارير QA، ملخصات مالية، أو لوحات معلومات يومية. + +جرّبه، عدّل نص التعليق، جرّب مجموعة من العلامات، وسترى مدى السرعة التي يمكنك بها توليد ملفات Excel مصقولة دون الحاجة لفتح الواجهة. إذا واجهت مشكلة، اترك تعليقًا أدناه؛ برمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/excel-custom-number-date-formatting/_index.md b/cells/arabic/net/excel-custom-number-date-formatting/_index.md index 493c54d8e0..934009d416 100644 --- a/cells/arabic/net/excel-custom-number-date-formatting/_index.md +++ b/cells/arabic/net/excel-custom-number-date-formatting/_index.md @@ -36,6 +36,8 @@ تعرف على كيفية التحقق من قيم خلايا Excel مقابل تنسيقات الأرقام المخصصة باستخدام Aspose.Cells لـ .NET من خلال هذا البرنامج التعليمي خطوة بخطوة. ### [تحديد حقول الصيغة عند استيراد البيانات إلى ورقة Excel](./specify-formula-fields-while-importing-data-to-worksheet-in-excel/) تعرف على كيفية استيراد البيانات إلى جداول Excel باستخدام حقول الصيغة المحددة باستخدام Aspose.Cells لـ .NET في هذا البرنامج التعليمي المفصل. +### [ضبط تنسيق تاريخ Excel في C# – دليل شامل خطوة بخطوة](./set-excel-date-format-in-c-complete-step-by-step-guide/) +تعلم كيفية تعيين تنسيق التاريخ في ملفات Excel باستخدام C# خطوة بخطوة مع Aspose.Cells. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/excel-custom-number-date-formatting/set-excel-date-format-in-c-complete-step-by-step-guide/_index.md b/cells/arabic/net/excel-custom-number-date-formatting/set-excel-date-format-in-c-complete-step-by-step-guide/_index.md new file mode 100644 index 0000000000..b6eb422acb --- /dev/null +++ b/cells/arabic/net/excel-custom-number-date-formatting/set-excel-date-format-in-c-complete-step-by-step-guide/_index.md @@ -0,0 +1,184 @@ +--- +category: general +date: 2026-02-28 +description: تعلم كيفية تعيين تنسيق التاريخ في Excel، قراءة تاريخ ووقت Excel، استخراج + التاريخ من Excel وحساب صيغ المصنف باستخدام Aspose.Cells في C#. مثال كامل قابل للتنفيذ. +draft: false +keywords: +- set excel date format +- read excel datetime +- extract date from excel +- calculate workbook formulas +- get datetime cell +language: ar +og_description: إتقان ضبط تنسيق التاريخ في إكسل، قراءة تاريخ ووقت إكسل، استخراج التواريخ، + وحساب صيغ المصنف مع مثال كامل بلغة C#. +og_title: ضبط تنسيق التاريخ في Excel باستخدام C# – دليل خطوة بخطوة كامل +tags: +- Aspose.Cells +- C# +- Excel automation +title: ضبط تنسيق التاريخ في إكسل باستخدام C# – دليل كامل خطوة بخطوة +url: /ar/net/excel-custom-number-date-formatting/set-excel-date-format-in-c-complete-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تعيين تنسيق تاريخ Excel – دليل C# الكامل + +هل واجهت صعوبة في **تعيين تنسيق تاريخ Excel** أثناء إنشاء جداول البيانات في الوقت الفعلي؟ لست وحدك. يواجه العديد من المطورين مشكلة عندما تظهر الخلية كسلسلة نصية خام بدلاً من تاريخ صحيح، خاصةً مع تواريخ العصور اليابانية أو سلاسل اللغة المخصصة. + +في هذا الدرس سنستعرض مثالًا واقعيًا **يُعيّن تنسيق تاريخ Excel**، ثم **يقرأ تاريخ ووقت Excel**، **يستخرج التاريخ من Excel**، وحتى **يحسب صيغ المصنف** حتى تتمكن أخيرًا من **الحصول على قيمة خلية تاريخ ووقت** ككائنات .NET `DateTime` أصلية. لا مراجع خارجية، مجرد مقتطف مستقل قابل للتنفيذ يمكنك لصقه في Visual Studio ورؤيته يعمل فورًا. + +## ما ستحتاجه + +- **Aspose.Cells for .NET** (أي إصدار حديث؛ الـ API المستخدم هنا يعمل مع 23.x وما فوق) +- .NET 6 أو أحدث (الكود يُجمّع أيضًا مع .NET Framework 4.6+) +- فهم أساسي لصياغة C# – إذا كنت تستطيع كتابة `Console.WriteLine` فأنت جاهز. + +هذا كل شيء. لا حزم NuGet إضافية بخلاف Aspose.Cells، ولا حاجة لتثبيت Excel. + +## كيفية تعيين تنسيق تاريخ Excel في C# + +أول ما نقوم به هو إخبار Excel أن الخلية تحتوي على تاريخ، وليس مجرد نص. توفر Aspose.Cells معرف تنسيق رقم مدمج (`14`) يتطابق مع نمط التاريخ القصير للغة الحالية. + +```csharp +using System; +using Aspose.Cells; + +class Program +{ + static void Main() + { + // Step 1: Create a new workbook and get the first worksheet + Workbook workbook = new Workbook(); + Worksheet sheet = workbook.Worksheets[0]; + + // Step 2: Write a Japanese era date string into cell A1 + sheet.Cells["A1"].PutValue("Reiwa 2-04-01"); + + // Step 3: Apply the standard date number format (ID 14) to A1 + // This tells Excel to treat the cell as a date. + sheet.Cells["A1"].Style.Number = 14; + + // Step 4: Force Excel to recalculate formulas so the value is parsed + workbook.CalculateFormula(); + + // Step 5: Retrieve the parsed value as a .NET DateTime + DateTime parsedDate = sheet.Cells["A1"].GetDateTime(); + + // Step 6: Show the result – should be 2020‑04‑01 + Console.WriteLine($"Parsed DateTime: {parsedDate:yyyy-MM-dd}"); + } +} +``` + +> **نصيحة احترافية:** استدعاء `CalculateFormula()` أمر حاسم. بدون ذلك، تظل الخلية تحتفظ بالسلسلة الخام، وستُطلق `GetDateTime()` استثناءً. هذا السطر يجبر Aspose.Cells على تشغيل المحلل الداخلي الخاص به، وبالتالي **حساب صيغ المصنف** لنا. + +الناتج الذي ستراه عند تشغيل البرنامج هو: + +``` +Parsed DateTime: 2020-04-01 +``` + +هذا يؤكد أننا نجحنا في **تعيين تنسيق تاريخ Excel**، وتمكنا من **الحصول على خلية تاريخ ووقت** ككائن `DateTime` صحيح. + +## قراءة قيم تاريخ ووقت Excel + +الآن بعد أن تم تخزين التاريخ بشكل صحيح، قد تتساءل كيف تستعيده لاحقًا، ربما من ملف موجود. طريقة `GetDateTime()` نفسها تعمل على أي خلية تحمل بالفعل تنسيق تاريخ. + +```csharp +// Assuming 'sheet' is already loaded from an existing workbook +DateTime existingDate = sheet.Cells["B5"].GetDateTime(); +Console.WriteLine($"Cell B5 contains: {existingDate:d}"); +``` + +إذا لم تكن الخلية مُنسقة كتاريخ، تُعيد `GetDateTime()` القيمة `DateTime.MinValue`. لهذا السبب نحتاج دائمًا إلى **تعيين تنسيق تاريخ Excel** أولًا. + +## استخراج التاريخ من خلايا Excel + +أحيانًا تحتوي الخلية على طابع زمني كامل (تاريخ + وقت) لكنك تحتاج فقط إلى جزء التاريخ. يمكنك قطع مكون الوقت باستخدام `.Date` على الـ `DateTime` المُعاد. + +```csharp +DateTime fullStamp = sheet.Cells["C3"].GetDateTime(); // e.g., 2023-07-15 14:30:00 +DateTime onlyDate = fullStamp.Date; // 2023-07-15 00:00:00 +Console.WriteLine($"Date only: {onlyDate:yyyy-MM-dd}"); +``` + +هذا النهج يعمل بغض النظر عن تنسيق الرقم الأساسي في Excel، طالما تم التعرف على الخلية ك تاريخ. + +## حساب صيغ المصنف + +ماذا لو كان التاريخ نتيجة صيغة، مثل `=TODAY()` أو `=DATE(2022,5,10)`؟ ستقوم Aspose.Cells بتقييم الصيغة عندما تستدعي `CalculateFormula()`. بعد ذلك، تتصرف الخلية تمامًا كما لو تم إدخال تاريخ يدويًا. + +```csharp +sheet.Cells["D2"].Formula = "=TODAY()"; +workbook.CalculateFormula(); // Re‑evaluate the sheet +DateTime today = sheet.Cells["D2"].GetDateTime(); +Console.WriteLine($"Today is: {today:yyyy-MM-dd}"); +``` + +لاحظ أننا لم نحتاج إلى تغيير نمط الخلية؛ Excel بالفعل يعامل نتائج الصيغ كتواريخ عندما تُعيد الصيغة رقمًا تسلسليًا يُطابق تاريخًا. + +## الحصول على خلية تاريخ ووقت من مصنف موجود + +بدمج كل ما سبق، إليك روتينًا مختصرًا يمكنك إدراجه في أي مشروع لفتح ملف Excel، وضمان تفسير جميع خلايا التاريخ بشكل صحيح، وإرجاع قائمة من كائنات `DateTime`. + +```csharp +using System.Collections.Generic; +using Aspose.Cells; + +static List ExtractAllDates(string filePath) +{ + Workbook wb = new Workbook(filePath); + Worksheet ws = wb.Worksheets[0]; + wb.CalculateFormula(); // Make sure formulas are evaluated + + var dates = new List(); + foreach (Cell cell in ws.Cells) + { + // Check if the cell has a date number format (ID 14‑22 are common date formats) + if (cell.GetStyle().Number >= 14 && cell.GetStyle().Number <= 22) + { + dates.Add(cell.GetDateTime()); + } + } + return dates; +} +``` + +تشغيل `ExtractAllDates("Sample.xlsx")` سيعطيك كل تاريخ تم **تعيين تنسيق تاريخ Excel** له بشكل صحيح في الورقة الأولى. + +## المشكلات الشائعة وكيفية تجنبها + +| المشكلة | لماذا يحدث | الحل | +|-------|----------------|-----| +| `GetDateTime()` يُطلق `ArgumentException` | الخلية غير مُعترف بها ك تاريخ (يفتقر إلى تنسيق رقم) | تطبيق `Style.Number = 14` **قبل** استدعاء `CalculateFormula()` | +| يظهر التاريخ كـ `1900‑01‑00` | يُفسّر الرقم التسلسلي 0 في Excel كالعصر الأساسي | تأكد من أن الخلية تحتوي فعليًا على رقم تسلسلي صالح (>0) | +| سلاسل العصور اليابانية لا تُ解析 | Aspose.Cells لا يُ解析 سلاسل العصور إلا بعد `CalculateFormula()` | احتفظ بالسلسلة الخام، عيّن تنسيق تاريخ، ثم استدعِ `CalculateFormula()` | +| تحولات المنطقة الزمنية | يتم تخزين `DateTime` بدون معلومات المنطقة، لكن تطبيقك قد يعرضه ب locale مختلف | استخدم `DateTimeKind.Utc` أو قم بالتحويل صراحةً إذا لزم الأمر | + +## صورة – ملخص بصري + +![مثال على تعيين تنسيق تاريخ Excel](excel-date-format.png "مثال على تعيين تنسيق تاريخ Excel") + +الرسم يوضح التدفق: **كتابة السلسلة → تطبيق تنسيق الرقم → إعادة حساب → استرجاع DateTime**. + +## الخلاصة + +غطينا كل ما تحتاجه لت **تعيين تنسيق تاريخ Excel**، **قراءة تاريخ ووقت Excel**، **استخراج التاريخ من Excel**، **حساب صيغ المصنف**، وأخيرًا **الحصول على قيم خلية تاريخ ووقت** ككائنات .NET أصلية. الكود الكامل القابل للتنفيذ جاهز للنسخ واللصق، والشروحات توضح لك "السبب" وراء كل خطوة، لتتمكن من تعديل النمط لسيناريوهات أكثر تعقيدًا. + +### ما التالي؟ + +- **استيراد/تصدير جماعي:** استخدم المساعد `ExtractAllDates` لمعالجة تقارير كبيرة دفعةً. +- **تنسيقات تاريخ مخصصة:** استبدل `Style.Number = 14` بـ `Style.Custom = "yyyy/mm/dd"` للحصول على تنسيق مستقل عن اللغة. +- **تواريخ مع مراعاة المنطقة الزمنية:** اجمع بين `DateTimeOffset` وأرقام Excel التسلسلية للتطبيقات العالمية. + +لا تتردد في التجربة، إضافة تنسيق شرطي، أو دفع التواريخ إلى قاعدة بيانات. إذا واجهت أي صعوبات، اترك تعليقًا—برمجة سعيدة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/excel-workbook/_index.md b/cells/arabic/net/excel-workbook/_index.md index edcf820fce..0bde1ed429 100644 --- a/cells/arabic/net/excel-workbook/_index.md +++ b/cells/arabic/net/excel-workbook/_index.md @@ -73,19 +73,21 @@ | [إضافة توقيع رقمي إلى ملف Excel موقّع بالفعل](./add-digital-signature-to-an-already-signed-excel-file/) |تعرف على كيفية إضافة توقيع رقمي إلى ملف Excel موقّع بالفعل باستخدام Aspose.Cells for .NET من خلال هذا الدليل المفصل خطوة بخطوة. | | [إضافة ملحق الويب](./add-web-extension/) |تعرف على كيفية إضافة ملحقات الويب إلى ملفات Excel باستخدام Aspose.Cells لـ .NET من خلال هذا البرنامج التعليمي الكامل خطوة بخطوة الذي يعزز وظائف جدول البيانات لديك. | | [ضبط مستوى الضغط](./adjust-compression-level/) تعلّم كيفية ضبط مستويات ضغط ملفات Excel باستخدام Aspose.Cells لـ .NET. حسّن أحجام ملفاتك بكفاءة من خلال هذا الدليل المفصل. | -| [السماح باستخدام الفاصلة العليا](./allow-leading-apostrophe/) أدر علامات الاقتباس الرئيسية في Excel بسهولة باستخدام Aspose.Cells لـ .NET. يرشدك هذا البرنامج التعليمي الشامل خطوة بخطوة خلال العملية. -| [إنشاء مصنف مشترك](./create-shared-workbook/) تعرّف على كيفية إنشاء مصنف عمل مشترك باستخدام Aspose.Cells لـ .NET من خلال هذا الدليل البسيط خطوة بخطوة. مثالي لتعزيز التعاون بين أعضاء الفريق. -| [اكتشاف أنواع الروابط](./detect-link-types/) | تعلّم كيفية اكتشاف أنواع الروابط التشعبية في Excel باستخدام Aspose.Cells لـ .NET. خطوات سهلة وأمثلة برمجية متضمنة. | -| [استخراج ملف Mol المضمن](./extract-embedded-mol-file/) |تعرف على كيفية استخراج ملفات MOL المضمنة بسهولة من مصنف Excel باستخدام Aspose.Cells لـ .NET. | -| [تصفية الأسماء المحددة أثناء تحميل المصنف](./filter-defined-names-while-loading-workbook/) |تعرف على كيفية تصفية الأسماء المحددة أثناء تحميل مصنف باستخدام Aspose.Cells لـ .NET في هذا الدليل الشامل. | -| [احصل على تفاصيل Odata](./get-odata-details/) |اكتشف كيفية استخراج تفاصيل OData من Excel باستخدام Aspose.Cells لـ .NET في هذا البرنامج التعليمي المفصل خطوة بخطوة. | -| [حماية المصنف المشترك بكلمة مرور أو إلغاء حمايته](./password-protect-or-unprotect-shared-workbook/) | قم بتأمين ملفات Excel المشتركة الخاصة بك باستخدام Aspose.Cells لـ .NET باستخدام دليلنا السهل حول حماية كلمة المرور وتقنيات إلغاء الحماية. | -| [قراءة وكتابة اتصال خارجي لملف XLSB](./read-and-write-external-connection-of-xlsb-file/) |تعرف على كيفية إدارة الاتصالات الخارجية في ملفات XLSB باستخدام Aspose.Cells لـ .NET في هذا البرنامج التعليمي الشامل. | -| [استبدال التعابير العادية](./regex-replace/) تعلّم كيفية استخدام استبدال التعابير العادية بكفاءة في Excel باستخدام Aspose.Cells لـ .NET. حسّن إنتاجيتك ودقتك في مهام جداول البيانات. -| [تحديث عنصر صيغة Power Query](./update-power-query-formula-item/) حدّث عناصر صيغ Power Query بسهولة في Excel باستخدام Aspose.Cells لـ .NET. دليل خطوة بخطوة لتبسيط عمليات معالجة البيانات. -| [معاينة طباعة المصنف](./workbook-print-preview/) تعلّم كيفية إنشاء معاينات طباعة لملفات Excel باستخدام Aspose.Cells لـ .NET. تعلّم خطوات البرمجة في برنامج تعليمي مفصل وسهل المتابعة. -| [العمل مع خصائص نوع المحتوى](./working-with-content-type-properties/) | تعرّف على كيفية استخدام Aspose.Cells لـ .NET للعمل مع خصائص نوع المحتوى لتحسين إدارة بيانات تعريف Excel. اتبع هذا الدليل البسيط خطوة بخطوة. | -| [دعم Xades Signature](./xades-signature-support/) | تعرّف على كيفية إضافة توقيعات Xades إلى ملفات Excel باستخدام Aspose.Cells لـ .NET من خلال هذا الدليل المفصل. حمِّل مستنداتك بأمان. | +| [السماح باستخدام الفاصلة العليا](./allow-leading-apostrophe/) أدر علامات الاقتباس الرئيسية في Excel بسهولة باستخدام Aspose.Cells لـ .NET. يرشدك هذا البرنامج التعليمي الشامل خطوة بخطوة خلال العملية. | +| [إنشاء مصنف مشترك](./create-shared-workbook/) تعرّف على كيفية إنشاء مصنف عمل مشترك باستخدام Aspose.Cells لـ .NET من خلال هذا الدليل البسيط خطوة بخطوة. مثالي لتعزيز التعاون بين أعضاء الفريق. | +| [اكتشاف أنواع الروابط](./detect-link-types/) | تعلّم كيفية اكتشاف أنواع الروابط التشعبية في Excel باستخدام Aspose.Cells لـ .NET. خطوات سهلة وأمثلة برمجية متضمنة. | +| [استخراج ملف Mol المضمن](./extract-embedded-mol-file/) |تعرف على كيفية استخراج ملفات MOL المضمنة بسهولة من مصنف Excel باستخدام Aspose.Cells لـ .NET. | +| [تصفية الأسماء المحددة أثناء تحميل المصنف](./filter-defined-names-while-loading-workbook/) |تعرف على كيفية تصفية الأسماء المحددة أثناء تحميل مصنف باستخدام Aspose.Cells لـ .NET في هذا الدليل الشامل. | +| [احصل على تفاصيل Odata](./get-odata-details/) |اكتشف كيفية استخراج تفاصيل OData من Excel باستخدام Aspose.Cells لـ .NET في هذا البرنامج التعليمي المفصل خطوة بخطوة. | +| [حماية المصنف المشترك بكلمة مرور أو إلغاء حمايته](./password-protect-or-unprotect-shared-workbook/) | قم بتأمين ملفات Excel المشتركة الخاصة بك باستخدام Aspose.Cells لـ .NET باستخدام دليلنا السهل حول حماية كلمة المرور وتقنيات إلغاء الحماية. | +| [قراءة وكتابة اتصال خارجي لملف XLSB](./read-and-write-external-connection-of-xlsb-file/) |تعرف على كيفية إدارة الاتصالات الخارجية في ملفات XLSB باستخدام Aspose.Cells لـ .NET في هذا البرنامج التعليمي الشامل. | +| [استبدال التعابير العادية](./regex-replace/) تعلّم كيفية استخدام استبدال التعابير العادية بكفاءة في Excel باستخدام Aspose.Cells لـ .NET. حسّن إنتاجيتك ودقتك في مهام جداول البيانات. | +| [تحديث عنصر صيغة Power Query](./update-power-query-formula-item/) حدّث عناصر صيغ Power Query بسهولة في Excel باستخدام Aspose.Cells لـ .NET. دليل خطوة بخطوة لتبسيط عمليات معالجة البيانات. | +| [معاينة طباعة المصنف](./workbook-print-preview/) تعلّم كيفية إنشاء معاينات طباعة لملفات Excel باستخدام Aspose.Cells لـ .NET. تعلّم خطوات البرمجة في برنامج تعليمي مفصل وسهل المتابعة. | +| [العمل مع خصائص نوع المحتوى](./working-with-content-type-properties/) | تعرّف على كيفية استخدام Aspose.Cells لـ .NET للعمل مع خصائص نوع المحتوى لتحسين إدارة بيانات تعريف Excel. اتبع هذا الدليل البسيط خطوة بخطوة. | +| [دعم Xades Signature](./xades-signature-support/) | تعرّف على كيفية إضافة توقيعات Xades إلى ملفات Excel باستخدام Aspose.Cells لـ .NET من خلال هذا الدليل المفصل. حمِّل مستنداتك بأمان. | +| [إنشاء ملف Excel برمجيًا باستخدام C# – دليل خطوة بخطوة](./create-excel-file-programmatically-with-c-step-by-step-guide/) | تعلم كيفية إنشاء ملف Excel من الصفر باستخدام C# مع Aspose.Cells خطوة بخطوة. | +| [إنشاء مصنف جديد – تحويل Markdown إلى Excel باستخدام C#](./create-new-workbook-convert-markdown-to-excel-in-c/) | تعلم كيفية إنشاء مصنف Excel جديد وتحويل ملفات Markdown إلى Excel باستخدام Aspose.Cells في C# خطوة بخطوة. | {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/excel-workbook/create-excel-file-programmatically-with-c-step-by-step-guide/_index.md b/cells/arabic/net/excel-workbook/create-excel-file-programmatically-with-c-step-by-step-guide/_index.md new file mode 100644 index 0000000000..025b8c5335 --- /dev/null +++ b/cells/arabic/net/excel-workbook/create-excel-file-programmatically-with-c-step-by-step-guide/_index.md @@ -0,0 +1,216 @@ +--- +category: general +date: 2026-02-28 +description: إنشاء ملف Excel برمجيًا باستخدام C#. تعلم كيفية إضافة نص إلى خلية Excel + وإنشاء دفتر عمل جديد في C# باستخدام Aspose.Cells مع ملف XLSX بنظام OPC مسطح. +draft: false +keywords: +- create excel file programmatically +- add text excel cell +- create new workbook c# +language: ar +og_description: إنشاء ملف Excel برمجيًا باستخدام C#. يوضح هذا الدرس كيفية إضافة نص + إلى خلية Excel وإنشاء دفتر عمل جديد في C# باستخدام Flat OPC. +og_title: إنشاء ملف إكسل برمجياً باستخدام C# – دليل كامل +tags: +- C# +- Excel automation +- Aspose.Cells +title: إنشاء ملف إكسل برمجيًا باستخدام C# – دليل خطوة بخطوة +url: /ar/net/excel-workbook/create-excel-file-programmatically-with-c-step-by-step-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء ملف Excel برمجياً باستخدام C# – دليل كامل + +هل احتجت يوماً إلى **إنشاء ملف Excel برمجياً** لكن لم تكن متأكدًا من أين تبدأ؟ لست وحدك. سواءً كنت تبني محرك تقارير، أو تصدر بيانات من واجهة ويب API، أو مجرد أتمتة جدول بيانات يومي، فإن إتقان هذه المهمة يمكن أن يوفر لك ساعات من العمل اليدوي. + +في هذا الدليل سنستعرض العملية بالكامل: من **إنشاء دفتر عمل جديد C#**، إلى **إضافة نص إلى خلية Excel**، وأخيرًا حفظ الملف كملف OPC مسطح XLSX. لا خطوات مخفية، ولا إشارات غامضة—فقط مثال عملي يمكنك إدراجه في أي مشروع .NET اليوم. + +## المتطلبات المسبقة وما ستحتاجه + +- **.NET 6+** (أو .NET Framework 4.6+). الشيفرة تعمل على أي بيئة تشغيل حديثة. +- **Aspose.Cells for .NET** – المكتبة التي تدير كائنات دفتر العمل. يمكنك الحصول عليها من NuGet (`Install-Package Aspose.Cells`). +- فهم أساسي لصياغة C#—لا شيء معقد، مجرد عبارات `using` المعتادة وطريقة `Main`. + +> **نصيحة محترف:** إذا كنت تستخدم Visual Studio، فعّل *NuGet Package Manager* وابحث عن *Aspose.Cells*؛ سيتولى IDE إضافة المرجع لك. + +الآن بعد أن تم إعداد الأساس، لنبدأ بتنفيذ الخطوات خطوة بخطوة. + +## الخطوة 1: إنشاء ملف Excel برمجياً – تهيئة دفتر عمل جديد + +أول ما تحتاجه هو كائن دفتر عمل جديد. فكر فيه كملف Excel فارغ ينتظر المحتوى. + +```csharp +using Aspose.Cells; + +class Program +{ + static void Main() + { + // Step 1: Create a brand‑new workbook instance + Workbook workbook = new Workbook(); + + // The rest of the steps go here... + } +} +``` + +**لماذا هذا مهم:** +`Workbook` هو نقطة الدخول لكل عملية في Aspose.Cells. بإنشائه، تقوم بتهيئة البنى الداخلية التي ستحمل لاحقًا الأوراق، الخلايا، الأنماط، وأكثر. تخطي هذه الخطوة سيتركك بدون مكان لتخزين البيانات. + +## الخطوة 2: إضافة نص إلى خلية Excel – ملء خلية بالبيانات + +الآن بعد أن لدينا دفتر عمل، لنضع بعض النص في الورقة الأولى. هذا يوضح عملية **add text excel cell**. + +```csharp + // Step 2: Grab the first worksheet (index 0) + Worksheet sheet = workbook.Worksheets[0]; + + // Choose cell A1 and insert a string + Cell cell = sheet.Cells["A1"]; + cell.PutValue("Hello, Flat OPC!"); +``` + +**شرح:** +- `Worksheets[0]` تُعيد الورقة الافتراضية التي تأتي مع دفتر العمل الجديد. +- `Cells["A1"]` هي صياغة عنوان مريحة؛ يمكنك أيضًا استخدام `Cells[0, 0]`. +- `PutValue` يكتشف نوع البيانات تلقائيًا (نص، رقم، تاريخ، إلخ) ويخزنها وفقًا لذلك. + +> **خطأ شائع:** نسيان الإشارة إلى الورقة الصحيحة قد يؤدي إلى `NullReferenceException`. تأكد دائمًا أن `sheet` ليس فارغًا قبل الوصول إلى خلاياه. + +## الخطوة 3: إنشاء دفتر عمل جديد C# – إعداد خيارات حفظ Flat OPC + +Flat OPC هو تمثيل XML واحد لملف XLSX، مفيد في السيناريوهات التي تحتاج فيها إلى صيغة نصية (مثلاً، التحكم في الإصدارات). إليك كيفية تفعيله. + +```csharp + // Step 3: Set up save options to generate a flat OPC file + XlsxSaveOptions saveOptions = new XlsxSaveOptions + { + // Enabling Flat OPC makes the XLSX a single XML document + FlatOPC = true + }; +``` + +**لماذا قد ترغب في Flat OPC:** +ملفات Flat OPC أسهل في المقارنة داخل نظام التحكم بالمصادر لأن دفتر العمل كله يُخزن في ملف XML واحد بدلاً من أرشيف ZIP يحتوي على أجزاء متعددة. هذا مفيد في خطوط CI أو تطوير جداول البيانات بشكل تعاوني. + +## الخطوة 4: إنشاء ملف Excel برمجياً – حفظ دفتر العمل + +أخيرًا، نقوم بحفظ دفتر العمل على القرص باستخدام الخيارات التي عرّفناها للتو. + +```csharp + // Step 4: Save the workbook to the desired location + string outputPath = @"C:\Temp\FlatFile.xlsx"; + workbook.Save(outputPath, SaveFormat.Xlsx, saveOptions); + + // Confirmation message + System.Console.WriteLine($"Workbook saved successfully to {outputPath}"); + } +} +``` + +**النتيجة التي ستراها:** +عند فتح `FlatFile.xlsx` في Excel، ستظهر العبارة “Hello, Flat OPC!” في الخلية A1. إذا فكّ ضغط الملف (أو فتحته بمحرر نصوص)، ستلاحظ وجود مستند XML واحد بدلًا من مجموعة ملفات الأجزاء المعتادة—دليل على أن Flat OPC قد عمل. + +![Create Excel file programmatically screenshot](https://example.com/flat-opc-screenshot.png "Create Excel file programmatically – flat OPC view") + +*Image alt text: “إنشاء ملف Excel برمجياً – ملف XLSX بصيغة Flat OPC معروض في محرر نصوص”* + +## مثال كامل قابل للتنفيذ + +بدمج كل ما سبق، إليك البرنامج الكامل الذي يمكنك نسخه ولصقه في تطبيق Console: + +```csharp +using System; +using Aspose.Cells; + +class Program +{ + static void Main() + { + // Step 1: Create a new workbook + Workbook workbook = new Workbook(); + + // Step 2: Add text to cell A1 + Worksheet sheet = workbook.Worksheets[0]; + Cell cell = sheet.Cells["A1"]; + cell.PutValue("Hello, Flat OPC!"); + + // Step 3: Configure save options for flat OPC + XlsxSaveOptions saveOptions = new XlsxSaveOptions + { + FlatOPC = true + }; + + // Step 4: Save the workbook + string outputPath = @"C:\Temp\FlatFile.xlsx"; + workbook.Save(outputPath, SaveFormat.Xlsx, saveOptions); + + Console.WriteLine($"Workbook saved successfully to {outputPath}"); + } +} +``` + +شغّل هذا الكود، انتقل إلى `C:\Temp`، وافتح الملف المُنشأ. لقد **أنشأت ملف Excel برمجياً**، أضفت نصًا إلى خلية Excel، وحفظته باستخدام تقنيات **create new workbook C#**. + +## الحالات الخاصة، المتغيرات، والنصائح + +### 1. الحفظ إلى MemoryStream + +إذا كنت تحتاج الملف في الذاكرة (مثلاً، لاستجابة HTTP)، استبدل مسار الملف بـ `MemoryStream`: + +```csharp +using (MemoryStream ms = new MemoryStream()) +{ + workbook.Save(ms, SaveFormat.Xlsx, saveOptions); + byte[] excelBytes = ms.ToArray(); + // Send excelBytes to the client, store in DB, etc. +} +``` + +### 2. إضافة بيانات إضافية + +يمكنك تكرار منطق **add text excel cell** لأي عنوان خلية: + +```csharp +sheet.Cells["B2"].PutValue(DateTime.Now); +sheet.Cells["C3"].PutValue(12345); +``` + +### 3. التعامل مع أوراق عمل ضخمة + +للمجموعات الكبيرة من البيانات، فكر في استخدام `WorkbookDesigner` أو طرق استيراد `DataTable` لتحسين الأداء. النمط الأساسي يبقى نفسه—إنشاء، تعبئة، حفظ. + +### 4. مخاوف التوافق + +- **إصدار Aspose.Cells:** الشيفرة تعمل مع الإصدار 23.10 وما بعده. الإصدارات الأقدم قد تستخدم `XlsxSaveOptions.FlatOPC` بطريقة مختلفة. +- **بيئة تشغيل .NET:** تأكد من استهداف .NET Standard 2.0 على الأقل إذا كنت تخطط لمشاركة المكتبة بين مشاريع .NET Framework و .NET Core. + +## ملخص + +أنت الآن تعرف كيف **تنشئ ملف Excel برمجياً** باستخدام C#، كيف **تضيف نصًا إلى خلية Excel**، وكيف **تنشئ دفتر عمل جديد c#** مع مخرجات Flat OPC. الخطوات هي: + +1. إنشاء كائن `Workbook`. +2. الوصول إلى ورقة عمل وكتابة قيمة في خلية. +3. إعداد `XlsxSaveOptions` مع `FlatOPC = true`. +4. حفظ الملف (أو الـ stream) في المكان الذي تريده. + +## ما التالي؟ + +- **تنسيق الخلايا:** تعلّم كيفية تطبيق الخطوط، الألوان، والحدود باستخدام كائنات `Style`. +- **أوراق عمل متعددة:** أضف أوراقًا إضافية عبر `workbook.Worksheets.Add()`. +- **الصيغ والرسوم البيانية:** استكشف `cell.Formula` وواجهة برمجة الرسوم البيانية لإنشاء تقارير أكثر غنى. +- **تحسين الأداء:** استخدم `WorkbookSettings` لضبط استهلاك الذاكرة للمجموعات الضخمة. + +لا تتردد في التجربة—غيّر النص، غير عنوان الخلية، أو جرّب صيغة حفظ مختلفة (CSV، PDF، إلخ). النمط الأساسي يبقى هو نفسه، ومع Aspose.Cells لديك مجموعة أدوات قوية في متناول يدك. + +برمجة سعيدة، ولتظل جداولك دائمًا منظمة! + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/excel-workbook/create-new-workbook-convert-markdown-to-excel-in-c/_index.md b/cells/arabic/net/excel-workbook/create-new-workbook-convert-markdown-to-excel-in-c/_index.md new file mode 100644 index 0000000000..da53b90cb4 --- /dev/null +++ b/cells/arabic/net/excel-workbook/create-new-workbook-convert-markdown-to-excel-in-c/_index.md @@ -0,0 +1,205 @@ +--- +category: general +date: 2026-02-28 +description: إنشاء مصنف جديد وتحويل markdown إلى Excel. تعلّم كيفية استيراد markdown، + حفظ المصنف بصيغة xlsx، وتصدير Excel باستخدام كود C# السهل. +draft: false +keywords: +- create new workbook +- convert markdown to excel +- save workbook as xlsx +- how to import markdown +- how to export excel +language: ar +og_description: إنشاء مصنف جديد وتحويل Markdown إلى ملف Excel. دليل خطوة بخطوة يغطي + استيراد Markdown، حفظ المصنف كملف xlsx، وتصدير Excel. +og_title: إنشاء دفتر عمل جديد – تحويل Markdown إلى Excel باستخدام C# +tags: +- C# +- Excel +- Markdown +- Automation +title: إنشاء مصنف جديد – تحويل Markdown إلى Excel باستخدام C# +url: /ar/net/excel-workbook/create-new-workbook-convert-markdown-to-excel-in-c/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# إنشاء مصنف جديد – تحويل Markdown إلى Excel باستخدام C# + +هل احتجت يوماً إلى **إنشاء مصنف جديد** من مصدر نصي عادي وتساءلت كيف تنقل تلك البيانات إلى Excel دون نسخ‑لصق؟ لست وحدك. في العديد من المشاريع—مولّدات التقارير، سكريبتات ترحيل البيانات، أو أدوات تدوين بسيطة—نملك ملف Markdown ونرغب في الحصول على ملف `.xlsx` أنيق كمنتج نهائي. + +هذا الدليل يوضح لك **كيفية استيراد markdown**، تحويله إلى جدول بيانات، ثم **حفظ المصنف كملف xlsx** باستخدام واجهة برمجة تطبيقات C# بسيطة. في النهاية ستتمكن من **تحويل markdown إلى excel** بثلاث أسطر من الشيفرة فقط، بالإضافة إلى مجموعة من النصائح العملية للسيناريوهات الواقعية. + +## ما الذي ستحتاجه + +- .NET 6.0 أو أحدث (المكتبة التي نستخدمها تستهدف .NET Standard 2.0، لذا تعمل أيضاً على الإطارات الأقدم) +- ملف Markdown (مثال: `input.md`) تريد تحويله إلى Excel +- حزمة NuGet `SpreadsheetCore` (أو أي مكتبة توفر `Workbook.ImportFromMarkdown` و `Workbook.Save`) + +لا توجد تبعيات ثقيلة، ولا COM interop، ولا حاجة لتعامل يدوي مع CSV. + +## الخطوة 1: إنشاء مصنف جديد واستيراد Markdown + +الخطوة الأولى هي إنشاء كائن `Workbook` جديد. فكر في ذلك كفتح ملف Excel فارغ في الذاكرة. مباشرةً بعد ذلك، نستدعي `ImportFromMarkdown` لجلب المحتوى من ملفنا `.md`. + +```csharp +using SpreadsheetCore; // hypothetical library that provides Workbook +using System.IO; + +// Step 1: Create a new workbook instance +Workbook workbook = new Workbook(); + +// Step 1‑b: Import content from a Markdown file +// The method parses headings, tables, and code blocks automatically. +string markdownPath = Path.Combine("YOUR_DIRECTORY", "input.md"); +workbook.ImportFromMarkdown(markdownPath); +``` + +**لماذا هذا مهم:** +إنشاء المصنف أولاً يمنحنا مساحة نظيفة، مما يضمن عدم وجود أنماط أو أوراق مخفية قد تتداخل مع عملية الاستيراد. تقوم دالة `ImportFromMarkdown` بالعمل الشاق—تحويل `#`، `##`، وجداول Markdown إلى صفوف وأعمدة في الورقة. إذا كان ملفك يحتوي على جدول كبير، ستقوم المكتبة بربط كل خلية مفصولة بـ | بخلية Excel تلقائياً. + +> **نصيحة احترافية:** إذا كان من الممكن أن يكون ملف Markdown غير موجود، احط استدعاء الاستيراد بـ `try…catch` وعرض رسالة خطأ ودية بدلاً من تتبع الأخطاء. + +## الخطوة 2: تعديل الورقة (اختياري لكنه مفيد) + +في معظم الأحيان يكون التحويل الافتراضي مقبولاً، لكن قد ترغب في ضبط عرض الأعمدة، تطبيق نمط رأس، أو تجميد الصف العلوي لتحسين الاستخدام. هذه الخطوة اختيارية؛ يمكنك تخطيها والانتقال مباشرةً إلى الحفظ. + +```csharp +// Step 2: Access the first worksheet (the one created by the import) +Worksheet sheet = workbook.Worksheets[0]; + +// Auto‑fit columns for a polished look +sheet.Columns.AutoFit(); + +// Apply a bold font to the first row (usually the markdown header) +sheet.Rows[0].Style.Font.Bold = true; + +// Freeze the header row so it stays visible while scrolling +sheet.Views[0].FreezePanes(1, 0); +``` + +**لماذا قد تحتاج ذلك:** +عند تصدير Excel للمستخدمين النهائيين، تظهر الورقة المنسقة بشكل احترافي وتوفر الوقت على التعديلات اليدوية. الشيفرة أعلاه خفيفة وتعمل في زمن O(n)، حيث *n* هو عدد الأعمدة—وهذا شبه معدوم بالنسبة لجداول markdown المعتادة. + +## الخطوة 3: حفظ المصنف كملف XLSX + +الآن بعد أن أصبحت البيانات داخل كائن `Workbook`، حفظه على القرص يصبح سهلًا. طريقة `Save` تكتب ملف Office Open XML حديث (`.xlsx`) يمكن لأي برنامج جدول بيانات قراءته. + +```csharp +// Step 3: Save the workbook as an Excel file +string outputPath = Path.Combine("YOUR_DIRECTORY", "output.xlsx"); +workbook.Save(outputPath); +``` + +بعد تنفيذ هذا السطر، ستجد `output.xlsx` بجوار ملف markdown الأصلي. افتحه، وسترى كل عنوان Markdown يتحول إلى تبويب ورقة عمل (إذا كانت المكتبة تدعم ذلك) أو كل جدول يُعرض كجدول Excel أصلي. + +**ما الذي تتوقعه:** + +| عنصر Markdown | النتيجة في Excel | +|----------------|-------------------| +| `# Title` | اسم الورقة “Title” | +| `| a | b |` | الصف 1، العمود A = a، العمود B = b | +| `- List item` | عمود منفصل بنقاط القوائم (حسب المكتبة) | + +إذا كنت بحاجة إلى **تحويل markdown إلى excel** في مهمة دفعية، ما عليك سوى تكرار الخطوات فوق على جميع ملفات `.md` في دليل معين. + +## الحالات الخاصة والمشكلات الشائعة + +| الحالة | كيفية التعامل | +|--------|----------------| +| **الملف غير موجود** | استخدم `File.Exists` قبل استدعاء `ImportFromMarkdown`. | +| **Markdown كبير ( > 10 MB )** | قم بقراءة الملف كسلسلة تدفق بدلاً من تحميله بالكامل؛ بعض المكتبات توفر `ImportFromStream`. | +| **أحرف خاصة / Unicode** | تأكد من حفظ الملف بترميز UTF‑8؛ المكتبة تحترم علامات BOM. | +| **جداول متعددة في ملف واحد** | قد ينشئ المستورد أوراق عمل منفصلة لكل جدول؛ تحقق من اتفاقية التسمية. | +| **امتدادات Markdown مخصصة** | إذا كنت تعتمد على جداول GitHub‑flavored، تأكد من أن المكتبة تدعمها أو عالج الملف مسبقاً. | + +معالجة هذه السيناريوهات مسبقاً تجعل أتمتتك أكثر صلابة وتمنع ظهور مشكلة “المصنف الفارغ”. + +## مثال كامل يعمل (جميع الخطوات في ملف واحد) + +فيما يلي تطبيق Console مستقل يمكنك وضعه في Visual Studio، استعادة حزمة NuGet، ثم تشغيله. يوضح التدفق الكامل من **إنشاء مصنف جديد** إلى **حفظ المصنف كملف xlsx**. + +```csharp +// Program.cs +using System; +using System.IO; +using SpreadsheetCore; // Replace with the actual library name + +namespace MarkdownToExcelDemo +{ + class Program + { + static void Main(string[] args) + { + // Paths – adjust to your environment + string inputMd = Path.Combine("YOUR_DIRECTORY", "input.md"); + string outputXlsx = Path.Combine("YOUR_DIRECTORY", "output.xlsx"); + + // Validate input + if (!File.Exists(inputMd)) + { + Console.WriteLine($"❌ Markdown file not found: {inputMd}"); + return; + } + + try + { + // 1️⃣ Create new workbook + Workbook workbook = new Workbook(); + + // 2️⃣ Import markdown (how to import markdown) + workbook.ImportFromMarkdown(inputMd); + + // Optional styling – improves the final Excel look + Worksheet sheet = workbook.Worksheets[0]; + sheet.Columns.AutoFit(); + sheet.Rows[0].Style.Font.Bold = true; + sheet.Views[0].FreezePanes(1, 0); + + // 3️⃣ Save workbook as xlsx (how to export excel) + workbook.Save(outputXlsx); + + Console.WriteLine($"✅ Success! Excel file created at: {outputXlsx}"); + } + catch (Exception ex) + { + Console.WriteLine($"⚠️ An error occurred: {ex.Message}"); + } + } + } +} +``` + +شغّل البرنامج، افتح `output.xlsx`، وسترى محتوى Markdown مرتباً بشكل أنيق. هذه هي سلسلة **تحويل markdown إلى excel** بالكامل—بدون نسخ‑لصق يدوي، بدون interop مع Excel، فقط شيفرة C# نظيفة. + +## الأسئلة المتكررة + +**س: هل يعمل هذا على macOS/Linux؟** +ج: بالتأكيد. المكتبة تستهدف .NET Standard، لذا أي نظام تشغيل يدعم .NET 6+ يمكنه تشغيل الشيفرة. + +**س: هل يمكنني تصدير أوراق عمل متعددة من ملف Markdown واحد؟** +ج: بعض التطبيقات تعالج كل عنوان من المستوى الأعلى كورقة منفصلة. راجع توثيق المكتبة لمعرفة السلوك الدقيق. + +**س: ماذا لو أردت حماية المصنف بكلمة مرور؟** +ج: بعد `ImportFromMarkdown` يمكنك استدعاء `workbook.Protect("myPassword")` قبل الحفظ—معظم مكتبات Excel الحديثة توفر هذه الطريقة. + +**س: هل هناك طريقة لتحويل Excel مرة أخرى إلى Markdown؟** +ج: نعم، العديد من المكتبات توفر دالة `ExportToMarkdown` مقابلة. إنها عكس **كيفية استيراد markdown**، لكن ضع في اعتبارك أن صيغ Excel لا تُترجم مباشرة. + +## الخلاصة + +الآن تعرف كيف **تنشئ مصنفًا جديدًا**، **تستورد markdown**، وت **حفظ المصنف كملف xlsx** باستخدام بضع جمل C# فقط. هذه الطريقة تتيح لك **تحويل markdown إلى excel** بسرعة، بثقة، وبطريقة قابلة للتوسع من سكريبتات ملف واحد إلى معالجات دفعية كاملة. + +هل أنت مستعد للخطوة التالية؟ جرّب ربط هذه الروتين مع مراقب ملفات بحيث يُنشئ تقرير Excel محدث في كل مرة يُدفع فيها ملف `.md` إلى المستودع. أو جرب إضافة تنسيقات—مثل التنسيق الشرطي، التحقق من صحة البيانات، أو حتى الرسوم البيانية بناءً على البيانات المستوردة. السماء هي الحد عندما تجمع بين روتين استيراد قوي ومجموعة ميزات Excel الغنية. + +هل لديك تعديل ترغب بمشاركته، أو واجهت مشكلة؟ اترك تعليقًا أدناه، ولنستمر في النقاش. Happy coding! + +![مثال على إنشاء مصنف جديد](https://example.com/assets/create-new-workbook.png "مثال على إنشاء مصنف جديد") + +{{< /blocks/products/pf/tutorial-page-section >}} +{{< /blocks/products/pf/main-container >}} +{{< /blocks/products/pf/main-wrap-class >}} +{{< blocks/products/products-backtop-button >}} \ No newline at end of file diff --git a/cells/arabic/net/exporting-excel-to-html-with-advanced-options/_index.md b/cells/arabic/net/exporting-excel-to-html-with-advanced-options/_index.md index 36d89f943e..5f821d1428 100644 --- a/cells/arabic/net/exporting-excel-to-html-with-advanced-options/_index.md +++ b/cells/arabic/net/exporting-excel-to-html-with-advanced-options/_index.md @@ -85,6 +85,10 @@ تعرّف على كيفية استخدام Aspose.Cells لـ .NET لتعيين عرض أعمدة قابل للتطوير في ملفات Excel برمجيًا. مثالي لعرض البيانات بكفاءة. ### [تعيين اسم علامة تبويب ورقة واحدة في تصدير HTML](./setting-single-sheet-tab-name/) يمكنك بسهولة تعيين اسم علامة تبويب ورقة واحدة أثناء تصدير HTML باستخدام Aspose.Cells لـ .NET. دليل خطوة بخطوة مع أمثلة برمجية. +### [تضمين الخطوط في HTML عند تصدير Excel – دليل C# كامل](./embed-fonts-html-when-exporting-excel-complete-c-guide/) +تعرف على طريقة تضمين الخطوط في ملفات HTML أثناء تصدير Excel باستخدام Aspose.Cells لـ .NET مع مثال شامل بلغة C#. +### [كيفية تصدير Excel إلى HTML – الحفاظ على الألواح المثبتة في C#](./how-to-export-excel-to-html-preserve-frozen-panes-in-c/) +تعرف على كيفية تصدير Excel إلى HTML مع الحفاظ على الألواح المثبتة باستخدام Aspose.Cells لـ .NET في C#. {{< /blocks/products/pf/tutorial-page-section >}} diff --git a/cells/arabic/net/exporting-excel-to-html-with-advanced-options/embed-fonts-html-when-exporting-excel-complete-c-guide/_index.md b/cells/arabic/net/exporting-excel-to-html-with-advanced-options/embed-fonts-html-when-exporting-excel-complete-c-guide/_index.md new file mode 100644 index 0000000000..ff892b8543 --- /dev/null +++ b/cells/arabic/net/exporting-excel-to-html-with-advanced-options/embed-fonts-html-when-exporting-excel-complete-c-guide/_index.md @@ -0,0 +1,199 @@ +--- +category: general +date: 2026-02-28 +description: تعلم كيفية تضمين الخطوط في HTML أثناء تصدير Excel إلى HTML باستخدام Aspose.Cells. + يتضمن حفظ كـ HTML، وتصدير Excel إلى HTML، ونصائح تحويل جدول البيانات إلى HTML. +draft: false +keywords: +- embed fonts html +- export excel html +- save as html +- save excel html +- convert spreadsheet html +language: ar +og_description: تضمين الخطوط في HTML أمر أساسي لتحويل Excel إلى HTML بشكل مثالي. يوضح + هذا الدليل كيفية تصدير Excel إلى HTML مع تضمين الخطوط باستخدام Aspose.Cells. +og_title: تضمين الخطوط في HTML عند تصدير Excel – دليل C# الكامل +tags: +- Aspose.Cells +- C# +- HTML export +- Excel automation +title: تضمين الخطوط في HTML عند تصدير Excel – دليل C# الكامل +url: /ar/net/exporting-excel-to-html-with-advanced-options/embed-fonts-html-when-exporting-excel-complete-c-guide/ +--- + +{{< blocks/products/pf/main-wrap-class >}} +{{< blocks/products/pf/main-container >}} +{{< blocks/products/pf/tutorial-page-section >}} + +# تضمين خطوط html عند تصدير Excel – دليل C# الكامل + +هل احتجت إلى **embed fonts html** أثناء تحويل دفتر عمل Excel إلى صفحة جاهزة للويب؟ لست وحدك—العديد من المطورين يواجهون مشكلة عندما يبدو HTML المُولد جيدًا على جهازهم لكنه يفقد الخطوط الدقيقة على متصفح آخر. الخبر السار؟ ببضع أسطر من C# و Aspose.Cells يمكنك **export excel html** التي تحمل الخطوط الأصلية داخل الملف. + +في هذا الدرس سنستعرض كل خطوة لـ **save as html** مع خطوط مضمَّنة، ونناقش لماذا قد ترغب أيضًا في **save excel html** بدون خطوط، ونظهر طريقة سريعة لـ **convert spreadsheet html** للنشرات البريدية. لا أدوات خارجية، فقط كود نقي يمكنك وضعه في أي مشروع .NET. + +## ما ستحتاجه + +- **Aspose.Cells for .NET** (أحدث إصدار، 2025‑R2 في وقت كتابة المقال). +- بيئة تطوير .NET (Visual Studio 2022 أو VS Code تعمل). +- دفتر عمل Excel تريد تصديره (أي ملف *.xlsx* يكفي). + +هذا كل شيء—لا حزم إضافية، لا حيل JavaScript معقدة. بمجرد إضافة المكتبة إلى المشروع، البقية مباشرة. + +## الخطوة 1: إعداد المشروع وإضافة Aspose.Cells + +للبدء، أنشئ تطبيق console جديد (أو دمجه في خدمة موجودة). أضف حزمة NuGet: + +```bash +dotnet add package Aspose.Cells +``` + +> **نصيحة محترف:** إذا كنت تستخدم مصدرًا مؤسسيًا، تأكد من ضبط مصدر الحزمة؛ وإلا سيفشل الأمر بصمت. + +الآن أدرج مساحة الاسم في أعلى ملف C# الخاص بك: + +```csharp +using Aspose.Cells; +using Aspose.Cells.Saving; +``` + +هذه الـ `using` تمنحك الوصول إلى الفئة `Workbook` و `HtmlSaveOptions` التي سنحتاجها لاحقًا. + +## الخطوة 2: تحميل دفتر عمل Excel الخاص بك + +يمكنك تحميل دفتر العمل من القرص، أو من تدفق، أو حتى من مصفوفة بايت. إليك أبسط نسخة تقرأ من ملف: + +```csharp +// Load the source Excel file +Workbook wb = new Workbook(@"C:\Files\SampleData.xlsx"); + +// Optional: adjust settings like calculation mode if needed +wb.CalculateFormula(); +``` + +لماذا نستدعي `CalculateFormula()`؟ إذا كان الورق يحتوي على صيغ، ستقوم المكتبة بحساب قيمها قبل التصدير، مما يضمن أن يظهر HTML نفس الأرقام التي تراها في Excel. + +## الخطوة 3: تكوين خيارات حفظ HTML لتضمين الخطوط + +هذا هو جوهر الدرس. بشكل افتراضي، تُنشئ Aspose.Cells ملف HTML يربط ملفات CSS وخطوط خارجية. لتضمين الخطوط **embed fonts html**، عكّس العلم `EmbedFonts`: + +```csharp +// Step 3: Configure HTML save options to embed fonts in the output +HtmlSaveOptions htmlOptions = new HtmlSaveOptions +{ + // Embeds all used fonts directly into the HTML as Base64‑encoded data URIs + EmbedFonts = true, + + // Optional: keep the original cell formatting + ExportActiveWorksheetOnly = true, + + // Optional: generate a single HTML file (no separate CSS folder) + ExportToSingleFile = true +}; +``` + +تعيين `EmbedFonts = true` يخبر Aspose.Cells بأخذ كل خط مُشار إليه في دفتر العمل، تحويله إلى سلسلة Base64، وإدراجه داخل وسم `