Pivotfilter med C++
Contents
[
Hide
]
Möjliga användningsscenario
När du skapar en pivottabell med kända data och vill filtrera pivottabellen måste du lära dig och använda filter. Det kan hjälpa dig att effektivt filtrera ut de data du vill ha. Genom att använda Aspose.Cells API kan du lägga till och rensa filter på fältvärden i pivottabeller.
Lägg till filter i pivottabell i Excel
Lägg till filter i pivottabell i Excel, följ dessa steg:
- Välj den pivot-tabell du vill rensa filtret på.
- Klicka på nedåtpilen för filtret du vill lägga till i pivottabellen.
- Välj “Topp 10” från rullgardinsmenyn.
- Ange visningsläge och antalet filter.
Lägg till filter i pivottabell
Se följande exempelkod. Den anger datan och skapar en pivot-tabell baserad på den. Sedan läggs ett filter på radfältet i pivot-tabellen. Slutligen sparas arbetsboken i utmatnings XLSX format. Efter att ha kört exempelkoden läggs en pivottabell med topp10-filter till arbetsbladet.
Exempelkod
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Create a new workbook
Workbook workbook;
// Get the first worksheet
Worksheet ws = workbook.GetWorksheets().Get(0);
Cells cells = ws.GetCells();
// Set values to cells
Cell cell = cells.Get(u"A1");
cell.PutValue(u"Fruit");
cell = cells.Get(u"B1");
cell.PutValue(u"Count");
cell = cells.Get(u"A2");
cell.PutValue(u"Apple");
cell = cells.Get(u"A3");
cell.PutValue(u"Mango");
cell = cells.Get(u"A4");
cell.PutValue(u"Blackberry");
cell = cells.Get(u"A5");
cell.PutValue(u"Cherry");
cell = cells.Get(u"A6");
cell.PutValue(u"Guava");
cell = cells.Get(u"A7");
cell.PutValue(u"Carambola");
cell = cells.Get(u"A8");
cell.PutValue(u"Banana");
cell = cells.Get(u"B2");
cell.PutValue(5);
cell = cells.Get(u"B3");
cell.PutValue(3);
cell = cells.Get(u"B4");
cell.PutValue(6);
cell = cells.Get(u"B5");
cell.PutValue(4);
cell = cells.Get(u"B6");
cell.PutValue(5);
cell = cells.Get(u"B7");
cell.PutValue(2);
cell = cells.Get(u"B8");
cell.PutValue(20);
// Add a PivotTable to the worksheet
int32_t i = ws.GetPivotTables().Add(u"=A1:B8", u"D10", u"PivotTable1");
// Access the instance of the newly added PivotTable
PivotTable pivotTable = ws.GetPivotTables().Get(i);
pivotTable.AddFieldToArea(PivotFieldType::Row, 0);
pivotTable.AddFieldToArea(PivotFieldType::Data, u"Count");
pivotTable.GetDataFields().Get(0).SetFunction(ConsolidationFunction::Sum);
PivotField field = pivotTable.GetRowFields().Get(0);
field.SetIsAutoSort(true);
field.SetIsAscendSort(false);
field.SetAutoSortField(0);
// Add top10 filter
PivotField filterField = pivotTable.GetRowFields().Get(0);
filterField.FilterTop10(0, PivotFilterType::Count, false, 5);
pivotTable.RefreshData();
pivotTable.CalculateData();
// Save the workbook
workbook.Save(u"filterout.xlsx");
Aspose::Cells::Cleanup();
return 0;
}
Rensa filter i pivottabell i Excel
Rensa filter i pivot-tabell i Excel, följ dessa steg:
- Välj den pivot-tabell du vill rensa filtret på.
- Klicka på nedåtpilen för filtret som du vill rensa i pivot-tabellen.
- Välj “Rensa filter” från rullgardinsmenyn.
- Om du vill rensa alla filter från pivottabellen kan du också klicka på knappen “Rensa filter” på fliken PivotTable Analyze i Excel-ribbon.
Rensa filter i pivottabell
Rensa filter i pivottabell med hjälp av Aspose.Cells. Se följande exempelkod.
- Ställ in datan och skapa en pivottabell baserad på det.
- Lägg till ett filter på radfältet i pivottabellen.
- Spara arbetsboken i utdata XLSX -format. Efter att exemplet har körts läggs en pivottabell med top10-filter till i arket.
- Rensa filtret på ett specifikt pivotfält. Efter att koden har körts för att rensa filtret kommer filtret på det specifika pivotfältet att rensas. Vänligen kontrollera utdata XLSX.
Exempelkod
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
// Create a new workbook
Workbook workbook;
// Get the first worksheet
Worksheet ws = workbook.GetWorksheets().Get(0);
Cells cells = ws.GetCells();
// Set values to cells
Cell cell = cells.Get(u"A1");
cell.PutValue(u"Fruit");
cell = cells.Get(u"B1");
cell.PutValue(u"Count");
cell = cells.Get(u"A2");
cell.PutValue(u"Apple");
cell = cells.Get(u"A3");
cell.PutValue(u"Mango");
cell = cells.Get(u"A4");
cell.PutValue(u"Blackberry");
cell = cells.Get(u"A5");
cell.PutValue(u"Cherry");
cell = cells.Get(u"A6");
cell.PutValue(u"Guava");
cell = cells.Get(u"A7");
cell.PutValue(u"Carambola");
cell = cells.Get(u"A8");
cell.PutValue(u"Banana");
cell = cells.Get(u"B2");
cell.PutValue(5);
cell = cells.Get(u"B3");
cell.PutValue(3);
cell = cells.Get(u"B4");
cell.PutValue(6);
cell = cells.Get(u"B5");
cell.PutValue(4);
cell = cells.Get(u"B6");
cell.PutValue(5);
cell = cells.Get(u"B7");
cell.PutValue(2);
cell = cells.Get(u"B8");
cell.PutValue(20);
// Add a PivotTable to the worksheet
int i = ws.GetPivotTables().Add(u"=A1:B8", u"D10", u"PivotTable1");
// Access the instance of the newly added PivotTable
PivotTable pivotTable = ws.GetPivotTables().Get(i);
pivotTable.AddFieldToArea(PivotFieldType::Row, 0);
pivotTable.AddFieldToArea(PivotFieldType::Data, u"Count");
pivotTable.GetDataFields().Get(0).SetFunction(ConsolidationFunction::Sum);
PivotField field = pivotTable.GetRowFields().Get(0);
field.SetIsAutoSort(true);
field.SetIsAscendSort(false);
field.SetAutoSortField(0);
// Add top10 filter
PivotField filterField = pivotTable.GetRowFields().Get(0);
filterField.FilterTop10(0, PivotFilterType::Count, false, 5);
pivotTable.RefreshData();
pivotTable.CalculateData();
workbook.Save(u"out_add.xlsx");
// Clear PivotFilter from the specific PivotField
pivotTable.GetPivotFilters().ClearFilter(field.GetBaseIndex());
pivotTable.RefreshData();
pivotTable.CalculateData();
workbook.Save(u"out_delete.xlsx");
Aspose::Cells::Cleanup();
return 0;
}