Agregar filtro en Tabla Dinámica
Escenarios de uso posibles
Cuando creas una tabla dinámica con datos conocidos y quieres filtrar la tabla dinámica, necesitas aprender y usar el filtro. Puede ayudarte a filtrar los datos que deseas de manera efectiva. Al utilizar la API Aspose.Cells, puedes agregar un filtro en los valores de campo en las Tablas Dinámicas.
Agregar filtro en Tabla Dinámica
Por favor, consulta el siguiente código de ejemplo. Establece los datos y crea una Tabla Dinámica basada en ellos. Luego añade un filtro en el campo de fila de la tabla dinámica. Finalmente, guarda el libro de trabajo en formato XLSX de salida. Después de ejecutar el código de ejemplo, se añade una tabla dinámica con filtro top10 a la hoja de cálculo.
Código de muestra
//Instantiating an Workbook object | |
Workbook workbook = new Workbook(); | |
//Obtaining the reference of the newly added worksheet | |
Worksheet ws = workbook.Worksheets[0]; | |
Aspose.Cells.Cells cells = ws.Cells; | |
//Setting the value to the cells | |
Aspose.Cells.Cell cell = cells["A1"]; | |
cell.PutValue("Fruit"); | |
cell = cells["B1"]; | |
cell.PutValue("Count"); | |
cell = cells["A2"]; | |
cell.PutValue("Apple"); | |
cell = cells["A3"]; | |
cell.PutValue("Mango"); | |
cell = cells["A4"]; | |
cell.PutValue("Blackberry"); | |
cell = cells["A5"]; | |
cell.PutValue("Cherry"); | |
cell = cells["A6"]; | |
cell.PutValue("Guava"); | |
cell = cells["A7"]; | |
cell.PutValue("Carambola"); | |
cell = cells["A8"]; | |
cell.PutValue("Banana"); | |
cell = cells["B2"]; | |
cell.PutValue(5); | |
cell = cells["B3"]; | |
cell.PutValue(3); | |
cell = cells["B4"]; | |
cell.PutValue(6); | |
cell = cells["B5"]; | |
cell.PutValue(4); | |
cell = cells["B6"]; | |
cell.PutValue(5); | |
cell = cells["B7"]; | |
cell.PutValue(2); | |
cell = cells["B8"]; | |
cell.PutValue(20); | |
//Adding a PivotTable to the worksheet | |
int i = ws.PivotTables.Add("=A1:B8", "D10", "PivotTable1"); | |
//Accessing the instance of the newly added PivotTable | |
PivotTable pivotTable = ws.PivotTables[i]; | |
pivotTable.AddFieldToArea(PivotFieldType.Row, 0); | |
pivotTable.AddFieldToArea(Aspose.Cells.Pivot.PivotFieldType.Data, "Count"); | |
pivotTable.DataFields[0].Function = ConsolidationFunction.Sum; | |
PivotField field = pivotTable.RowFields[0]; | |
field.IsAutoSort = true; | |
field.IsAscendSort = false; | |
field.AutoSortField = 0; | |
//Add top10 filter | |
PivotField filterField = pivotTable.RowFields[0]; | |
filterField.FilterTop10(0, PivotFilterType.Count, false, 5); | |
pivotTable.RefreshData(); | |
pivotTable.CalculateData(); | |
workbook.Save("filterout.xlsx"); |