نسخ الصفوف والأعمدة
مقدمة
في بعض الأحيان تحتاج إلى نسخ الصفوف والأعمدة في ورقة العمل من دون نسخ الورقة بأكملها. مع Aspose.Cells، من الممكن نسخ الصفوف والأعمدة داخل نفس الورقة أو بين الورقات. عندما يتم نسخ صف (أو عمود)، يتم نسخ البيانات الموجودة فيه، بما في ذلك الصيغ - مع المراجع المحدّثة - والقيم، التعليقات، التنسيق، الخلايا المخفية، الصور وكائنات الرسم الأخرى.
نسخ الصفوف والأعمدة باستخدام Microsoft Excel
- حدد الصف أو العمود الذي ترغب في نسخه.
- لنسخ الصفوف أو الأعمدة, انقر نسخ على شريط الأدوات قياسي, أو اضغط CTRL+C.
- حدد صفًا أو عمودًا أسفل أو إلى اليمين من المكان الذي تريد نسخ تحديدك.
- عند نسخ الصفوف أو الأعمدة, انقر الخلايا المنسوخة على قائمة إدراج.
استخدام Aspose.Cells
نسخ الصفوف
توفر Aspose.Cells طريقة CopyRow من فئة Aspose::Cells::ICells. تقوم هذه الطريقة بنسخ جميع أنواع البيانات بما في ذلك الصيغ، القيم، التعليقات، تنسيق الخلية، الخلايا المخفية، الصور وكائنات الرسم الأخرى من الصف المصدر إلى الصف الوجهة.
تأخذ طريقة CopyRow المعلمات التالية:
- كائن الخلايا المصدر،
- فهرس الصف المصدر، و
- فهرس الصف الوجهة.
استخدم هذه الطريقة لنسخ صف داخل ورقة عمل أو إلى ورقة عمل أخرى. تعمل طريقة النسخ CopyRow بنفس الطريقة لمايكروسوفت إكسل. على سبيل المثال، لا تحتاج إلى تعيين ارتفاع الصف الوجهة بشكل صريح، هذه القيمة سيتم نسخها أيضًا.
يوضح المثال التالي كيفية نسخ صف في ورقة العمل. يستخدم ملف إكسل مثالي وينسخ الصف الثاني (بما في ذلك البيانات، التنسيق، التعليقات، الصور وما إلى ذلك) ويلصقه في الصف الثاني عشر في نفس ورقة العمل.
يمكنك تخطي الخطوة التي تحصل فيها على ارتفاع الصف الأصلي باستخدام طريقة GetRowHeigh ثم تعيين ارتفاع الصف الوجهة باستخدام طريقة SetRowHeight حيث تعتني طريقة CopyRow تلقائيًا بارتفاع الصف.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of input excel file | |
U16String sampleCopyingRowsAndColumns = dirPath + u"sampleCopyingRowsAndColumns.xlsx"; | |
//Path of output excel file | |
U16String outputCopyingRowsAndColumns = outPath + u"outputCopyingRowsAndColumns.xlsx"; | |
//Read input excel file | |
Workbook workbook(sampleCopyingRowsAndColumns); | |
//Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Copy the second row with data, formattings, images and drawing objects to the 16th row in the worksheet. | |
worksheet.GetCells().CopyRow(worksheet.GetCells(), 1, 15); | |
//Save the Excel file. | |
workbook.Save(outputCopyingRowsAndColumns); | |
Aspose::Cells::Cleanup(); |
عند نسخ الأسطر، من المهم ملاحظة الصور ذات الصلة، والرسوم البيانية أو أي كائنات رسم أخرى حيث تكون المشكلة مماثلة لمايكروسوفت إكسل:
- إذا كان مؤشر الصف الأصلي هو 5، يتم نسخ الصورة، الرسم البياني الخ، إذا كانت موجودة في الثلاثة صفوف (مؤشر بداية الصف هو 4 ومؤشر نهاية الصف هو 6).
- لن يتم إزالة الصور الحالية، الرسوم البيانية الخلافة في الصف الوجهة.
نسخ الأعمدة
يوفّر Aspose.Cells طريقة CopyColumn في فئة Aspose::Cells::ICells، تقوم هذه الطريقة بنسخ جميع أنواع البيانات، بما في ذلك الصيغ - مع الإشارات المحدثة - والقيم، التعليقات، تنسيقات الخلية، الخلايا المخفية، الصور وغيرها من الكائنات الرسومية من العمود المصدر إلى العمود الوجهة.
تأخذ طريقة CopyColumn المعلمات التالية:
- كائن الخلايا المصدر،
- فهرس العمود المصدر، و
- فهرس العمود الوجهة.
استخدم طريقة CopyColumn لنسخ عمود داخل ورقة عمل أو إلى ورقة عمل أخرى.
هذا المثال ينسخ عمودًا من ورقة العمل ويلصقه في ورقة عمل في دفتر عمل آخر.
Aspose::Cells::Startup(); | |
//For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C | |
//Path of input | |
U16String dirPath(u""); | |
//Path of output | |
U16String outPath(u""); | |
//Path of input excel file | |
U16String sampleCopyingRowsAndColumns = dirPath + u"sampleCopyingRowsAndColumns.xlsx"; | |
//Path of output excel file | |
U16String outputCopyingRowsAndColumns = outPath + u"outputCopyingRowsAndColumns.xlsx"; | |
//Read input excel file | |
Workbook workbook(sampleCopyingRowsAndColumns); | |
//Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.GetWorksheets().Get(0); | |
//Copy the third column to eighth column | |
worksheet.GetCells().CopyColumn(worksheet.GetCells(), 2, 7); | |
//Save the Excel file. | |
workbook.Save(outputCopyingRowsAndColumns); | |
Aspose::Cells::Cleanup(); |