دمج وفك دمج الخلايا باستخدام C++
مقدمة
غالبًا ما لا ترغب في نفس عدد الخلايا في كل صف أو عمود. على سبيل المثال، قد ترغب في وضع عنوان في خلية تمتد عبر عدة أعمدة. أو، إذا كنت تقوم بإنشاء فاتورة، قد ترغب في أقل عدد من الأعمدة للمجموع. لدمج خلية واحدة من خلايا أكثر من اثنين، قم بدمجهم. يتيح Microsoft Excel للمستخدمين تحديد الملفات ودمجها لتنظيم جدول البيانات بالطريقة التي يرغبون فيها.
دمج الخلايا في ورقة العمل
دمج الخلايا في Microsoft Excel
الخطوات التالية تصف كيفية دمج الخلايا في ورق العمل باستخدام برنامج MS Excel.
- قم بنسخ البيانات التي تريدها إلى أعلى يسار الخلية ضمن النطاق.
- حدد الخلايا التي تريد دمجها.
- لدمج الخلايا في صف أو عمود وتوسيط محتوى الخلية، انقر على أيقونة دمج وتوسيط في شريط الأدوات التنسيق.
دمج الخلايا باستخدام Aspose.Cells
تحتوي فئة Aspose::Cells::Cells
على بعض الطرق المفيدة للمهمة. على سبيل المثال، تقوم طريقة Merge()
بدمج الخلايا في خلية واحدة ضمن النطاق المحدد.
المثال التالي يوضح كيفية دمج الخلايا (C6:E7) في ورق العمل.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create a Workbook
Workbook wbk;
// Create a Worksheet and get the first sheet
Worksheet worksheet = wbk.GetWorksheets().Get(0);
// Create a Cells object to fetch all the cells
Cells cells = worksheet.GetCells();
// Merge some Cells (C6:E7) into a single C6 Cell
cells.Merge(5, 2, 2, 3);
// Input data into C6 Cell
worksheet.GetCells().Get(5, 2).PutValue(u"This is my value");
// Create a Style object to fetch the Style of C6 Cell
Style style = worksheet.GetCells().Get(5, 2).GetStyle();
// Create a Font object
Font font = style.GetFont();
// Set the name
font.SetName(u"Times New Roman");
// Set the font size
font.SetSize(18);
// Set the font color
font.SetColor(Color::Blue());
// Bold the text
font.SetIsBold(true);
// Make it italic
font.SetIsItalic(true);
// Set the background color of C6 Cell to Red
style.SetForegroundColor(Color::Red());
style.SetPattern(BackgroundType::Solid);
// Apply the Style to C6 Cell
worksheet.GetCells().Get(5, 2).SetStyle(style);
// Save the Workbook
wbk.Save(outDir + u"mergingcells.out.xls");
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
رفع الدمج (تقسيم) الخلايا المدمجة
استخدام Microsoft Excel
الخطوات التالية تصف كيفية تقسيم الخلايا المدمجة باستخدام Microsoft Excel.
- حدد الخلية المدمجة. عندما يتم دمج الخلايا، يتم تحديد دمج وتوسيط في شريط الأدوات التنسيق.
- انقر على دمج وتوسيط في شريط الأدوات التنسيق.
استخدام Aspose.Cells
تحتوي فئة Aspose::Cells::Cells
على طريقة تسمى UnMerge()
والتي تفصل الخلايا إلى حالتها الأصلية. تقوم الطريقة بفصل الخلايا باستخدام مرجع الخلية في نطاق الخلايا المدمجة.
المثال التالي يوضح كيفية تقسيم الخلايا المدمجة (C6). يستخدم المثال الملف الذي تم إنشاؤه في المثال السابق ويقوم بتقسيم الخلايا المدمجة.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input excel file
U16String inputFilePath = srcDir + u"mergingcells.xls";
// Path of output excel file
U16String outputFilePath = outDir + u"unmergingcells.out.xls";
// Create a Workbook and open the excel file
Workbook wbk(inputFilePath);
// Get the first worksheet
Worksheet worksheet = wbk.GetWorksheets().Get(0);
// Get the Cells object to fetch all the cells
Cells cells = worksheet.GetCells();
// Unmerge the cells
cells.UnMerge(5, 2, 2, 3);
// Save the file
wbk.Save(outputFilePath);
std::cout << "Cells unmerged successfully!" << std::endl;
Aspose::Cells::Cleanup();
}