Los formatos de archivo XLSX y XLS se utilizan con frecuencia para manipular grandes cantidades de datos. Asimismo, los Autofiltros se utilizan para organizar datos en archivos de Excel. Puede agregar o eliminar fácilmente Autofiltro en archivos de Excel con Aspose.Cells for .NET API. Los filtros se pueden usar para cuantificar algunos datos para extraer información significativa. Por ejemplo, una organización quiere filtrar los meses con bajas ventas, para diseñar y mejorar sus estrategias. En este artículo, exploraremos el filtrado de datos mediante filtros automáticos en C#:

Agregar o quitar autofiltro en archivos de Excel: instalación de la API

Aspose.Cells for .NET La API le permite trabajar de manera eficiente con hojas de cálculo de Excel. Puede crear, editar o manipular XLS, XLSX y otros formatos admitidos mediante programación con un código mínimo. Puede descargar e instalar el paquete MSI o ZIP desde la sección de descargas, o simplemente instalarlo a través de la galería NuGet en su solución. Por ejemplo, puede instalarlo fácilmente en su entorno usando el siguiente comando:

Install-Package Aspose.Cells -Version 20.9.0

Después de instalar la API con éxito, procedamos con algunos de los casos de uso importantes y útiles.

Aplicar Autofiltro en celdas en archivos de Excel usando C#

Puede aplicar Autofiltro en un rango específico de celdas en archivos de Excel. Esto le permite ordenar los valores en orden ascendente o descendente, así como otros filtros numéricos cuando las celdas contienen valores numéricos. Debe seguir los siguientes pasos para aplicar Autofiltro en archivos de Excel usando C#:

  1. Abra un archivo de Excel y acceda a la Worksheet
  2. Cree Autofiltro especificando un rango de celdas específico
  3. Guardar archivo de salida XLS/XLSX

El fragmento de código muestra cómo aplicar Autofiltro en celdas en un archivo de Excel usando C#:

// Crear una instancia de un objeto Workbook
// Abrir el archivo de Excel a través de la secuencia de archivos
Aspose.Cells.Workbook workbook = new Aspose.Cells.Workbook(dataDir + "book1.xls");

// Acceso a la primera hoja de trabajo en el archivo de Excel
Aspose.Cells.Worksheet worksheet = workbook.Worksheets[0];

// Creación de Autofiltro dando el rango de celdas de la fila de encabezado
worksheet.AutoFilter.Range = "A1:B1";

// Guardar el archivo de Excel modificado
workbook.Save(dataDir + "output.xlsx");

Puede notar el Autofiltro agregado en el archivo XLSX de origen en la siguiente captura de pantalla:

Autofiltro-Excel-Csharp

Agregar Autofiltro de fecha en XLSX usando C#

Los datos en archivos de Excel a menudo contienen información relacionada con fechas. En ocasiones, es posible que necesite explorar información basada en diferentes períodos de tiempo que pueden identificarse por las fechas. Por ejemplo, consideremos el caso en el que necesitamos filtrar datos relacionados con enero de 2018, luego debe seguir los siguientes pasos:

  1. Cargar hoja de cálculo de entrada
  2. Acceso a una hoja de trabajo
  3. Agregar filtro de fecha y guardar el archivo de salida

El siguiente ejemplo de código sigue estos pasos y muestra cómo agregar Autofiltro de fecha en archivos de Excel usando C#:

// Crear una instancia de un objeto Workbook
// Abrir el archivo de Excel a través de la secuencia de archivos
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Acceso a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.Worksheets[0];

// Llame a la función AddDateFilter para aplicar el filtro
worksheet.AutoFilter.AddDateFilter(0, DateTimeGroupingType.Month, 2018, 1, 0, 0, 0, 0);

// Llame a la función de actualización para actualizar la hoja de trabajo
worksheet.AutoFilter.Refresh();

// Guardar el archivo de Excel modificado
workbook.Save(dataDir + "FilteredDate.xlsx");

Agregar Autofiltro de fecha dinámica en XLSX usando C#

Como ya hemos discutido el escenario de filtrado de datos basado en fechas. Sin embargo, el escenario de la fecha también puede ser un poco más genérico, en algunos escenarios. Por ejemplo, necesitamos que los datos se filtren para el mes de enero, independientemente del año. Dichos requisitos se pueden manejar fácilmente con un filtro de fecha dinámico siguiendo los pasos a continuación:

  1. Cargar archivo XLSX de entrada
  2. Acceder a una hoja de trabajo
  3. Establecer DynamicFilter para el mes de enero
  4. Guardar hoja de Excel de salida

Este ejemplo es una continuación del ejemplo anterior, donde el fragmento de código a continuación muestra cómo agregar un Autofiltro de fecha dinámico en un archivo de Excel usando C#:

// Crear una instancia de un objeto Workbook
// Abrir el archivo de Excel a través de la secuencia de archivos
Workbook workbook = new Workbook(dataDir + "Date.xlsx");

// Acceso a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.Worksheets[0];

// Llame a la función DynamicFilter para aplicar el filtro
worksheet.AutoFilter.DynamicFilter(0, DynamicFilterType.January);

// Llame a la función de actualización para actualizar la hoja de trabajo
worksheet.AutoFilter.Refresh();

// Guardar el archivo de Excel modificado
workbook.Save(dataDir + "FilteredDynamicDate.xlsx");

Aplicar Autofiltro de número personalizado en XLSX con C#

Puede filtrar datos en función de un rango personalizado de números utilizando Aspose.Cells for .NET API. Por ejemplo, cuando una empresa necesita saber cuántos de sus empleados han alcanzado los objetivos de ventas. Del mismo modo, podría haber muchas posibilidades en las que esta técnica de filtrado puede ayudar. Supongamos un caso en el que necesitamos filtrar todos los datos donde los números están dentro del rango de 5 y 10 inclusive, luego debe seguir los pasos a continuación:

  1. Cree una instancia de un objeto Workbook y cargue el archivo de entrada
  2. Agregar filtro de número personalizado en una hoja de trabajo específica
  3. Guardar archivo de salida de Excel

Según estos pasos, el siguiente código muestra cómo agregar un Autofiltro de número personalizado usando C#:

// Crear una instancia de un objeto Workbook
// Abrir el archivo de Excel a través de la secuencia de archivos
Workbook workbook = new Workbook(dataDir + "Number.xlsx");

// Acceso a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.Worksheets[0];

// Llame a la función personalizada para aplicar el filtro
worksheet.AutoFilter.Custom(0, FilterOperatorType.GreaterOrEqual, 5, true, FilterOperatorType.LessOrEqual, 10);

// Llame a la función de actualización para actualizar la hoja de trabajo
worksheet.AutoFilter.Refresh();

// Guardar el archivo de Excel modificado
workbook.Save(dataDir + "FilteredNumber.xlsx");

Agregar Autofiltro personalizado con Contiene usando C#

Moviéndonos un paso más allá del Autofiltro de número personalizado, aprendamos cómo agregar Autofiltro personalizado que se puede usar para rastrear texto específico usando Contiene Operador de filtro. Puede ser útil para buscar palabras en las que algún texto esté parcial o totalmente presente en los datos. Debe seguir los siguientes pasos para lograr estos requisitos:

  1. Cargar archivo de Excel de entrada con datos
  2. Especifique el rango AutoFilter y el FilterOperatorType
  3. Guardar archivo XLSX de salida

El fragmento de código a continuación muestra cómo agregar Autofiltro personalizado con Contiene usando C#:

// Creación de instancias de un objeto de Workbook que contiene datos de muestra
Workbook workbook = new Workbook(dataDir + "sourseSampleCountryNames.xlsx");

// Acceso a la primera hoja de trabajo en el archivo de Excel
Worksheet worksheet = workbook.Worksheets[0];

// Creando Autofiltro dando rango a las celdas
worksheet.AutoFilter.Range = "A1:A18";

// Inicializar filtro para filas que contienen la cadena "Ba"
worksheet.AutoFilter.Custom(0, FilterOperatorType.Contains, "Ba");

//Actualizar el filtro para mostrar/ocultar filas filtradas
worksheet.AutoFilter.Refresh();

// Guardar el archivo de Excel modificado
workbook.Save(dataDir + "outSourseSampleCountryNames.xlsx");

Quitar o eliminar autofiltro en Excel usando C#

Como hemos aprendido diferentes escenarios de agregar autofiltros en archivos de Excel usando C#, echemos un vistazo al revés. El caso de uso de eliminar o eliminar los Autofiltros de Excel es igualmente importante y fundamental. Debe seguir los pasos a continuación para eliminar todos los Autofiltros de un archivo XLSX:

  1. Cargar archivo XLSX de entrada
  2. Iterar a través de cada hoja de trabajo y eliminar Autofiltros
  3. Guardar archivo de salida

El siguiente fragmento de código muestra cómo eliminar los Autofiltros de los archivos de Excel usando C#:

// Crear una instancia de un objeto Workbook
// Abriendo el archivo de Excel
Workbook workbook = new Workbook(dataDir + "output.xlsx");
// Iterar a través de cada hoja de trabajo
foreach (var sheet in workbook.Worksheets)
{
    // Eliminar autofiltros
    sheet.RemoveAutoFilter();
}
// Guardar el Workbook
workbook.Save(dataDir + "AutoFilter_Removed.xlsx", SaveFormat.Xlsx);

Conclusión

Aspose.Cells for .NET API le ofrece diferentes funciones listas para usar. Agregar, quitar o eliminar un Autofiltro usando C# en .NET Framework es simple y fácil. Hemos discutido varias posibilidades en detalle. En caso de que tenga alguna duda o inquietud, no dude en contactarnos en Foro de soporte gratuito.

Ver también