Pivot Tabelle und Quelldaten mit C++
Quelldaten der Pivot-Tabelle
Es gibt Zeiten, in denen Sie Microsoft Excel-Berichte mit Pivot-Tabellen erstellen möchten, die Daten aus verschiedenen Datenquellen (wie einer Datenbank) enthalten, die zur Entwurfszeit nicht bekannt sind. Dieser Artikel stellt einen Ansatz zur Verfügung, um die Datenquelle einer Pivot-Tabelle dynamisch zu ändern.
Ändern der Datenquelle einer Pivot-Tabelle
- Erstellen einer neuen Designer-Vorlage.
-
Erstellen Sie eine neue Designer-Vorlagendatei wie im folgenden Screenshot gezeigt.
-
Definieren Sie dann einen benannten Bereich, Datenquelle, der sich auf diesen Zellenbereich bezieht.
Erstellen einer Designer-Vorlage & Definieren eines benannten Bereichs, Datenquelle
-
- Erstellen einer Pivot-Tabelle auf Basis dieses benannten Bereichs.
-
Wählen Sie in Microsoft Excel Daten, dann PivotTable und PivotChart-Bericht aus.
-
Erstellen Sie eine Pivot-Tabelle basierend auf dem im ersten Schritt erstellten benannten Bereich.
Erstellen einer Pivot-Tabelle basierend auf dem benannten Bereich, DataSource
-
- Ziehen Sie das entsprechende Feld in Zeile und Spalte der Pivot-Tabelle und erstellen Sie dann die resultierende Pivot-Tabelle wie im Screenshot unten.
Erstellen einer Pivot-Tabelle basierend auf einem entsprechenden Feld
- Klicken Sie mit der rechten Maustaste auf die Pivot-Tabelle und wählen Sie Tabellenoptionen.
-
Aktivieren Sie Beim Öffnen aktualisieren in den Dateneinstellungen.
Festlegen der Pivot-Tabellenoptionen
-
Nun können Sie diese Datei als Ihre Designer-Vorlagendatei speichern.
- Neue Daten einfügen und die Quelldaten einer Pivot-Tabelle ändern.
- Sobald die Designer-Vorlage erstellt ist, verwenden Sie den folgenden Code, um die Quelldaten der Pivot-Tabelle zu ändern.
Die Ausführung des untenstehenden Beispielcodes ändert die Quelldaten der Pivot-Tabelle.
#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;
}