Aktualisieren des Slicers mit C++
Mögliche Verwendungsszenarien
Wenn Sie einen Slicer in Microsoft Excel aktualisieren möchten, wählen Sie seine Elemente aus oder deselectieren Sie sie, dann aktualisiert sich die Slicer-Tabelle oder Pivot-Tabelle entsprechend. Verwenden Sie Slicer.GetSlicerCacheItems(), um die Elemente des Slicers mit Aspose.Cells auszuwählen oder zu deselectieren, und rufen Sie dann die Slicer.Refresh()-Methode auf, um die Slicer-Tabelle oder Pivot-Tabelle zu aktualisieren.
Wie man den Slicer aktualisiert
Der folgende Beispielscode lädt die Beispiel-Excel-Datei, die einen vorhandenen Slicer enthält. Es entwählt die 2. und 3. Elemente des Slicers und aktualisiert den Slicer. Anschließend speichert es die Arbeitsmappe unter Ausgabe-Excel-Datei. Der folgende Screenshot zeigt die Auswirkung des Beispielscodes auf die Beispiel-Excel-Datei. Wie Sie auf dem Screenshot sehen können, wurde durch das Aktualisieren des Slicers mit ausgewählten Elementen auch die Pivot-Tabelle entsprechend aktualisiert.
Beispielcode
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Load sample Excel file containing slicer.
U16String inputFilePath = u"sampleUpdatingSlicer.xlsx";
Workbook wb(inputFilePath);
// Access first worksheet.
Worksheet ws = wb.GetWorksheets().Get(0);
// Access the first slicer inside the slicer collection.
Slicer slicer = ws.GetSlicers().Get(0);
// Access the slicer items.
SlicerCacheItemCollection scItems = slicer.GetSlicerCache().GetSlicerCacheItems();
SlicerCacheItemCollection items = slicer.GetSlicerCache().GetSlicerCacheItems();
for (int i = 0; i < items.GetCount(); ++i)
{
SlicerCacheItem item = items.Get(i);
if (item.GetValue() == u"Pink" || item.GetValue() == u"Green")
{
item.SetSelected(false);
}
}
slicer.Refresh();
// Save the modified workbook.
U16String outputFilePath = u"out.xlsx";
wb.Save(outputFilePath);
std::cout << "Slicer updated and workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}