تلقائي يناسب الصفوف والأعمدة باستخدام C++
ضبط تلقائي
تقدم Aspose.Cells فئة Workbook التي تمثل ملف Microsoft Excel. تحتوي فئة Workbook على مجموعة Worksheets التي تتيح الوصول إلى كل ورقة عمل في ملف Excel. تُظهر ورقة العمل بواسطة فئة Worksheet. توفر فئة Worksheet مجموعة واسعة من الأساليب لإدارة ورقة العمل. يناقش هذا المقال استخدام فئة Worksheet لضبط الصفوف أو الأعمدة تلقائيًا.
ضبط تلقائي للصف - بسيط
أبسط طريقة لضبط عرض وارتفاع الصف تلقائيًا هي استدعاء طريقة AutoFitRow لفئة Worksheet. تأخذ طريقة AutoFitRow مؤشر صف (للصف الذي سيتم تغيير حجمه) كمعامل.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Path of input Excel file
U16String inputFilePath = srcDir + u"Book1.xlsx";
// Create workbook from file
Workbook workbook(inputFilePath);
// Access the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Auto-fit the 2nd row (index 1) of the worksheet
worksheet.AutoFitRow(1);
// Save the modified Excel file
U16String outputFilePath = srcDir + u"output.xlsx";
workbook.Save(outputFilePath);
std::cout << "Row auto-fitted and file saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
return 0;
}
كيفية ضبط صف تلقائيًا في مجموعة من الخلايا
يتكون الصف من العديد من الأعمدة. يسمح Aspose.Cells للمطورين بضبط صف تلقائيًا استنادًا إلى المحتوى في نطاق خلايا داخل الصف عن طريق استدعاء إصدار محمل زائد من طريقة AutoFitRow. وهي تأخذ المعاملات التالية:
- فهرس الصف, فهرس الصف المراد ضبطه تلقائياً.
- فهرس العمود الأول, فهرس العمود الأول للصف.
- فهرس العمود الأخير, فهرس العمود الأخير للصف.
تتحقق طريقة AutoFitRow من محتويات جميع الأعمدة في الصف ثم تضبط الصف تلقائيًا.
#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"Book1.xlsx";
// Path of output Excel file
U16String outputFilePath = outDir + u"output.xlsx";
// Open the Excel file
Workbook workbook(inputFilePath);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Auto-fitting the 3rd row of the worksheet
worksheet.AutoFitRow(1, 0, 5);
// Save the modified Excel file
workbook.Save(outputFilePath);
std::cout << "Row auto-fitted and file saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
كيفية ضبط العمود تلقائيًا في مجموعة من الخلايا
يتكون العمود من العديد من الصفوف. من الممكن ضبط عمود تلقائيًا استنادًا إلى المحتوى في نطاق خلايا في العمود عن طريق استدعاء إصدار محمل زائد من طريقة AutoFitColumn يأخذ المعاملات التالية:
- فهرس العمود: فهرس العمود الذي سيتم تلائم حجمه تلقائياً.
- فهرس الصف الأول: فهرس أول صف في العمود.
- فهرس الصف الأخير: فهرس آخر صف في العمود.
تتحقق طريقة AutoFitColumn من محتويات جميع الصفوف في العمود ثم تضبط العمود تلقائيًا.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Path of input Excel file
U16String inputFilePath = srcDir + u"Book1.xlsx";
// Create workbook from the input file
Workbook workbook(inputFilePath);
// Access the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Auto-fit the 5th column (index 4) from row 4 to 6
worksheet.AutoFitColumn(4, 4, 6);
// Save the modified Excel file
U16String outputFilePath = srcDir + u"output.xlsx";
workbook.Save(outputFilePath);
std::cout << "Column auto-fitted and file saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
كيفية تلائم حجم الصفوف للخلايا المدمجة
مع Aspose.Cells، من الممكن ضبط الصفوف تلقائيًا حتى للخلايا التي تم دمجها باستخدام واجهة برمجة التطبيقات AutoFitterOptions. توفر فئة AutoFitterOptions الخاصية GetAutoFitMergedCellsType() التي يمكن استخدامها لضبط صفوف الخلايا المدمجة تلقائيًا. يقبل GetAutoFitMergedCellsType() تعداد AutoFitMergedCellsType والتي تحتوي على الأعضاء التالية:
- لا شيء: تجاهل الخلايا المدمجة.
- السطر الأول: فقط يوسع ارتفاع الصف الأول.
- السطر الأخير: فقط يوسع ارتفاع الصف الأخير.
- كل سطر: يوسع ارتفاع كل صف.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Output directory
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Instantiate a new Workbook
Workbook wb;
// Get the first (default) worksheet
Worksheet worksheet = wb.GetWorksheets().Get(0);
// Create a range A1:B1
Range range = worksheet.GetCells().CreateRange(0, 0, 1, 2);
// Merge the cells
range.Merge();
// Insert value to the merged cell A1
worksheet.GetCells().Get(0, 0).SetValue(u"A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");
// Create a style object
Style style = worksheet.GetCells().Get(0, 0).GetStyle();
// Set wrapping text on
style.SetIsTextWrapped(true);
// Apply the style to the cell
worksheet.GetCells().Get(0, 0).SetStyle(style);
// Create an object for AutoFitterOptions
AutoFitterOptions options;
// Set auto-fit for merged cells
options.SetAutoFitMergedCellsType(AutoFitMergedCellsType::EachLine);
// Autofit rows in the sheet (including the merged cells)
worksheet.AutoFitRows(options);
// Save the Excel file
wb.Save(outDir + u"AutofitRowsforMergedCells.xlsx");
std::cout << "Autofit rows for merged cells completed successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
يمكنك أيضًا محاولة استخدام الإصدارات المحملة الزائدة من طريقتي AutoFitRows وAutoFitColumns التي تقبل نطاق الصفوف/الأعمدة ونسخة من AutoFitterOptions لضبط الصفوف/الأعمدة المحددة وفقًا لـ AutoFitterOptions المطلوب.
التواقيع للطرق المذكورة سابقًا هي كما يلي:
- AutoFitRows(int startRow, int endRow, AutoFitterOptions options)
- AutoFitColumns(int firstColumn, int lastColumn, AutoFitterOptions options)