تطبيق الإجمالي الفرعي وتغيير اتجاه صفوف ملخص المخطط أدناه التفاصيل باستخدام C++
ستشرح هذه المقالة كيفية تطبيق الإجمالي الفرعي على البيانات وتغيير اتجاه صفوف ملخص المخطط أدناه التفاصيل.
يمكنك تطبيق الإجمالي الفرعي على البيانات باستخدام طريقة Worksheet.Cells.Subtotal(). وتقبل المعلمات التالية:
- منطقة الخلية - النطاق الذي سيتم تطبيق الإجمالي عليه
- التجميع حسب - الحقل الذي يتم التجميع حسبه، كتعويض صفري مبني
- الوظيفة - الوظيفة الإجمالي
- قائمة الإجمالي - مصفوفة من الحقول المبنية على التعويض الصفري، تشير إلى الحقول التي يتم إضافة الإجمالي لها
- استبدال - يشير إلى ما إذا كنت ترغب في استبدال الإجمالي الفرعي الحالي
- فواصل الصفحة - يشير إلى ما إذا كنت ستضيف فاصل صفحة بين المجموعات
- ملخص أدناه البيانات - يشير إلى ما إذا كنت ستضيف ملخصًا أسفل البيانات.
أيضًا، يمكنك التحكم في اتجاه ملخص الصفوف أسفل التفاصيل للمخطط باستخدام خاصية Worksheet.Outline.SummaryRowBelow. يمكنك فتح إعدادات هذا في Microsoft Excel باستخدام البيانات > المخطط > الإعدادات.

صور ملفات المصدر والإخراج
تظهر اللقطة الشاشية التالية ملف Excel الأصلي المستخدم في الشفرة المثالية أدناه والذي يحتوي على بعض البيانات في الأعمدة A و B.

تظهر اللقطة الشاشة التالية ملف Excel الناتج الذي تم إنشاؤه بواسطة الكود النموذجي. كما ترون، تم تطبيق الإجمالي إلى النطاق A2:B11 واتجاه المخطط هو صفوف ملخص أدناه للتفاصيل.

كود C++ لتطبيق الإجمالي الفرعي وتغيير اتجاه الصفوف الملخصة للمخطط
إليك الشيفرة المثالية لتحقيق الإخراج كما هو موضح أعلاه.
#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 workbook from source Excel file
Workbook workbook(srcDir + u"Book1.xlsx");
// Access the first worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Get the Cells collection in the first worksheet
Cells cells = worksheet.GetCells();
// Create a cellarea i.e.., A2:B11
CellArea ca = CellArea::CreateCellArea(u"A2", u"B11");
// Apply subtotal, the consolidation function is Sum and it will applied to Second column (B) in the list
cells.Subtotal(ca, 0, ConsolidationFunction::Sum, { 1 }, true, false, true);
// Set the direction of outline summary
worksheet.GetOutline().SetSummaryRowBelow(true);
// Save the excel file
workbook.Save(outDir + u"output_out.xlsx");
std::cout << "Subtotal applied successfully!" << std::endl;
Aspose::Cells::Cleanup();
}