Filtro dinámico

Escenarios de uso posibles

Cuando creas una tabla dinámica con datos conocidos y deseas filtrarla, necesitas aprender y usar filtro. Puede ayudarte a filtrar los datos que deseas de manera efectiva. Usando la API de Aspose.Cells, puedes agregar y borrar filtros en los valores de los campos en Tablas dinámicas.

Agregar filtro en tabla dinámica en Excel

Agregar filtro en tabla dinámica en Excel, sigue estos pasos:

  1. Selecciona la Tabla Dinámica de la que deseas eliminar el filtro.
  2. Haz clic en la flecha desplegable del filtro que deseas agregar en la tabla dinámica.
  3. Selecciona “Los 10 principales” en el menú desplegable.
  4. Establece el modo de exhibición y el número de filtros.

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");

Borrar filtro en tabla dinámica en Excel

Limpiar filtro en Tabla Dinámica en Excel, sigue estos pasos:

  1. Selecciona la Tabla Dinámica de la que deseas eliminar el filtro.
  2. Haz clic en la flecha desplegable para el filtro que deseas borrar en la tabla dinámica.
  3. Selecciona “Limpiar filtro” en el menú desplegable.
  4. Si deseas borrar todos los filtros de la tabla dinámica, también puedes hacer clic en el botón “Limpiar filtros” en la pestaña Analizar tabla dinámica en la cinta de Excel.

Borrar filtro en tabla dinámica

Eliminar filtro en tabla dinámica usando Aspose.Cells. Por favor, consulta el siguiente código de ejemplo.

  1. Establece los datos y crea una tabla dinámica basada en ellos.
  2. Agrega un filtro en el campo de fila de la tabla dinámica.
  3. Guarda el libro en formato XLSX de salida. Después de ejecutar el código de ejemplo, se añade un filtro top10 a la hoja de cálculo.
  4. Elimina el filtro en un campo de la tabla dinámica específico. Después de ejecutar el código para eliminar el filtro, se eliminará el filtro en el campo de la tabla dinámica específico. Por favor, revisa el XLSX de salida.

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("out_add.xlsx");
//Clear PivotFilter from the specific PivotField
pivotTable.PivotFilters.ClearFilter(field.BaseIndex);
pivotTable.RefreshData();
pivotTable.CalculateData();
workbook.Save("out_delete.xlsx");