Cómo filtrar datos en una tabla de Excel usando C#

Este tema le brinda los detalles necesarios sobre cómo filtrar datos en una tabla de Excel usando C#. El código de ejemplo muestra cómo agregar filtros en Excel usando C# en el archivo XLSX. Además, puede crear un filtro dinámico en una hoja de cálculo de Excel usando C# en unos pocos y sencillos pasos.

Pasos para filtrar datos en tablas de Excel usando C#

  1. Obtenga el paquete Aspose.Cells for .NET de NuGet.org
  2. Importar Aspose.Cells espacio de nombres al proyecto
  3. Instanciar y configurar el objeto de licencia con el método SetLicense
  4. Cree un Workbook desde cero
  5. Insertar datos en la primera hoja de cálculo del libro de trabajo
  6. Establecer AutoFilter rango y agregar filtrado personalizado
  7. Guardar datos filtrados en un archivo XLSX

Filtrar datos dinámicamente significa mostrar solo aquellos registros que cubrirían ciertos criterios. Si desea obtener registros solo para frutas específicas (uvas en este caso), este ejemplo demuestra la función de filtro automático de Excel y lo ayuda a comprender cómo aplicar un filtro personalizado en Excel en C#.

Código de muestra para filtrar datos en una tabla de Excel usando C#

using System;
using Aspose.Cells;
namespace FilterDataInExcelTable
{
class Program
{
static void Main(string[] args)
{
//Create License object and set it at the start before using any other APIs
Aspose.Cells.License Aspose_Cells_lic = new Aspose.Cells.License();
Aspose_Cells_lic.SetLicense("Aspose.Cells.lic");
//Create an empty Excel workbook
Workbook FilteringDataWorkbook = new Workbook();
//Get the worksheet at first indexed position in the workbook - default worksheet
Worksheet FilteringDataSheet = FilteringDataWorkbook.Worksheets[0];
//Obtain the cells collection from the first sheet
Cells FilteringDataCells = FilteringDataSheet.Cells;
//Put data/values into the cells for the table
FilteringDataCells["A1"].PutValue("Fruits");
FilteringDataCells["B1"].PutValue("Total");
FilteringDataCells["A2"].PutValue("Blueberries");
FilteringDataCells["B2"].PutValue(2500);
FilteringDataCells["A3"].PutValue("Apples");
FilteringDataCells["B3"].PutValue(1100);
FilteringDataCells["A4"].PutValue("Mangoes");
FilteringDataCells["B4"].PutValue(1500);
FilteringDataCells["A5"].PutValue("Grapes");
FilteringDataCells["B5"].PutValue(1200);
FilteringDataCells["A6"].PutValue("Oranges");
FilteringDataCells["B6"].PutValue(3000);
FilteringDataCells["D1"].PutValue("Count:");
//Specify formula to E1 cell - this formula would give you count
FilteringDataCells["E1"].Formula = "=SUBTOTAL(2,B1:B6)";
//Set the range to which the specified autofilters would be applied
FilteringDataSheet.AutoFilter.Range = "A1:B6";
//Now add your desired filter to first column to select your desired data
FilteringDataSheet.AutoFilter.AddFilter(0, "Grapes");
FilteringDataSheet.AutoFilter.Refresh();
//Save Excel XLSX file
FilteringDataWorkbook.Save("FilteredData.xlsx");
}
}
}

El segmento de código (arriba) instancia un Libro de trabajo en blanco y luego inserta datos en un rango de celdas en la primera hoja de trabajo. El código C# establece el rango de filtro automático de Excel; agrega o aplica un filtro personalizado en la hoja de cálculo de Excel. Por último, guarda los datos filtrados en un archivo XLSX en el disco. También te puede interesar el tema cómo crear un gráfico circular de Excel en C#.

 Español