إنشاء، تعديل أو إزالة السيناريوهات من أوراق العمل باستخدام C++

Contents
[ ]

توفر Aspose.Cells بعض الفئات المفيدة، على سبيل المثال، الفئات ScenarioCollection، Scenario، ScenarioInputCellCollection، و ScenarioInputCell. كما تقدم الخاصية Worksheet.GetScenarios(). يفتح كود المثال أدناه ملف إكسل XLSX يحتوي على بعض السيناريوهات ويزيل سيناريو موجود، بالإضافة إلى إضافة سيناريو جديد إلى ورقة العمل قبل حفظ ملف الإكسل. يستخدم المثال ملف قالب بسيط جدًا يحتوي على سيناريو.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;

int main()
{
    Aspose::Cells::Startup();

    // Source and output directories
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Load input Excel file
    Workbook workbook(srcDir + u"aspose-sample.xlsx");

    // Access first worksheet
    Worksheet worksheet = workbook.GetWorksheets().Get(0);

    // Access scenarios collection
    ScenarioCollection scenarios = worksheet.GetScenarios();
    if (scenarios.GetCount() > 0)
    {
        // Create new scenario and configure
        int32_t scenarioIndex = scenarios.Add(u"MyScenario");
        Scenario scenario = scenarios.Get(scenarioIndex);
        scenario.SetComment(u"Test scenario is created.");

        // Add input cell to scenario
        ScenarioInputCellCollection inputCells = scenario.GetInputCells();
        inputCells.Add(3, 1, u"1100000"); // Cell B4 (0-based)

        // Save modified workbook
        U16String outputPath = outDir + u"outBk_scenarios1.out.xlsx";
        workbook.Save(outputPath);

        std::cout << "\nProcess completed successfully.\nFile saved at " << outputPath.ToUtf8() << std::endl;
    }

    Aspose::Cells::Cleanup();
    return 0;
}