Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
There are times when you want to create Microsoft Excel reports with pivot tables that take data from different data sources (such as a database) that are not known at design time. This article provides an approach to dynamically change a pivot table’s data source.
Create a new designer template file as in the screenshot below.
Then define a named range, DataSource, which refers to this range of cells.
Creating a designer template & defining a named range, DataSource

In Microsoft Excel, choose Data, then PivotTable and PivotChart Report.
Create a pivot table based on the named range created in the first step.
Creating a pivot table based on the named range, DataSource

Creating a pivot table based on a corresponding field

Check Refresh on open in Data options settings.
Setting the pivot table options

Now, you can save this file as your designer template file.
Executing the example code below changes the source data of the pivot table.
#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
Workbook workbook(inputFilePath);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Populating new data to the worksheet cells
worksheet.GetCells().Get(u"A9").PutValue(u"Golf");
worksheet.GetCells().Get(u"B9").PutValue(u"Qtr4");
worksheet.GetCells().Get(u"C9").PutValue(7000);
// Changing named range "DataSource"
Range range = worksheet.GetCells().CreateRange(0, 0, 9, 3);
range.SetName(u"DataSource");
// Saving the modified Excel file
U16String outputFilePath = srcDir + u"output.xls";
workbook.Save(outputFilePath);
Aspose::Cells::Cleanup();
std::cout << "File saved successfully!" << std::endl;
return 0;
}
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.