English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método para crear agrupaciones de múltiples niveles en Excel en C#

Si en Excel se puede agrupar datos con detalles de múltiples niveles y mostrarlos, se puede mostrar claramente la estructura general de la tabla de datos, dándole al documento un sentido de nivel. Según sea necesario, configure la visualización o ocultamiento de los detalles debajo de las categorías, lo que facilita la visualización y gestión de los datos al mismo tiempo que hace que el documento sea más atractivo. Entonces, ¿cómo crear en C# la visualización de datos de agrupación de Excel de múltiples niveles? A continuación, se detallará. El método utiliza el componente gratuitoFree Spire.XLS for .NETDescargue e instale este componente, cree una aplicación de consola y agregue el archivo dll del paquete de instalación del componente al proyecto, además de agregar el espacio de nombres correspondiente. A continuación, se presentan los pasos específicos del código para su referencia.

Paso 1:Crear un objeto de la clase Wordbook y obtener la primera hoja de trabajo

Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];

Paso 2:Escribir datos en la celda

sheet.Range["A1].Value = "Departamentos de la empresa";
sheet.Range["A3].Value = "Departamento integral";
sheet.Range["A4].Value = "Administración";
sheet.Range["A5].Value = "Personal";
sheet.Range["A6].Value = "Departamento de marketing";
sheet.Range["A7].Value = "Departamento de negocios";
sheet.Range["A8].Value = "Departamento de servicio al cliente";
sheet.Range["A9].Value = "Departamento técnico";
sheet.Range["A10].Value = "Desarrollo técnico";
sheet.Range["A11].Value = "Soporte técnico";
sheet.Range["A12].Value = "Soporte preventa";
sheet.Range["A13].Value = "Soporte posterior al cliente";

Paso 3:Establecer la propiedad IsSummaryRowBelow en false, lo que significa que la fila de resumen se muestra encima de las filas de detalles

sheet.PageSetup.IsSummaryRowBelow = false;

Paso 4:Elegir una fila para agrupar, el parámetro false indica expandir el grupo actual, si desea ocultarlo, configurelo en true

//Elegir filas para agrupar en un nivel
sheet.GroupByRows(2, 13, false);
//Elegir filas para agrupar en dos niveles
sheet.GroupByRows(4,5 , false);
sheet.GroupByRows(7, 8, false);
sheet.GroupByRows(10,13 , false);
//Elegir filas para agrupar en tres niveles
sheet.GroupByRows(12,13, true);

Paso 5:Definir un objeto CellStyle, aplicar formatos y utilizarlos en el texto de la celda

CellStyle style = workbook.Styles.Add("style");
style.Font.IsBold = true;
style.Color = Color.LawnGreen;
sheet.Range["A1"].CellStyleName = style.Name;
sheet.Range["A3"].CellStyleName = style.Name;
sheet.Range["A6"].CellStyleName = style.Name;
sheet.Range["A9"].CellStyleName = style.Name;

Paso 6:Establecer estilo de borde de la región

sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin);
sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin);
sheet.Range["A7:A8"].BorderAround(LineStyleType.Thin);
sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin);
sheet.Range["A10:A13"].BorderAround(LineStyleType.Thin);
sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin);

Paso 7:Guardar documento

workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);

Ejecutar el programa para generar el documento (puede ver el documento generado en la carpeta del proyecto bin>Debug)

Demostración de efectos:

Todo el código:

using System;
using System.Drawing;
using Spire.Xls;
namespace MultilevelGroup_XLS
{
 class Program
 {
  static void Main(string[] args)
  {
   //Crear un objeto de la clase Wordbook y obtener la primera hoja de trabajo
   Workbook workbook = new Workbook();
   Worksheet sheet = workbook.Worksheets[0];
   //Escribir datos en la celda
   sheet.Range["A1].Value = "Departamentos de la empresa";
   sheet.Range["A3].Value = "Departamento integral";
   sheet.Range["A4].Value = "Administración";
   sheet.Range["A5].Value = "Personal";
   sheet.Range["A6].Value = "Departamento de marketing";
   sheet.Range["A7].Value = "Departamento de negocios";
   sheet.Range["A8].Value = "Departamento de servicio al cliente";
   sheet.Range["A9].Value = "Departamento técnico";
   sheet.Range["A10].Value = "Desarrollo técnico";
   sheet.Range["A11].Value = "Soporte técnico";
   sheet.Range["A12].Value = "Soporte preventa";
   sheet.Range["A13].Value = "Soporte posterior al cliente";
   //Establecer IsSummaryRowBelow en false, lo que significa que la fila de resumen se muestra encima de las filas de detalles
   sheet.PageSetup.IsSummaryRowBelow = false;
   //Elegir filas para agrupar en un nivel
   //El parámetro false indica que expanda el grupo actual, si desea ocultarlo configurelo en true
   sheet.GroupByRows(2, 13, false);
   //Elegir filas para agrupar en dos niveles
   sheet.GroupByRows(4,5 , false);
   sheet.GroupByRows(7, 8, false);
   sheet.GroupByRows(10,13 , false);
   //Elegir filas para agrupar en tres niveles
   sheet.GroupByRows(12,13, true);
   //Definir un objeto CellStyle, configurar y aplicar formato de fuente en celdas
   CellStyle style = workbook.Styles.Add("style");
   style.Font.IsBold = true;
   style.Color = Color.LawnGreen;
   sheet.Range["A1"].CellStyleName = style.Name;
   sheet.Range["A3"].CellStyleName = style.Name;
   sheet.Range["A6"].CellStyleName = style.Name;
   sheet.Range["A9"].CellStyleName = style.Name;
   //Establecer estilo de borde de la región
   sheet.Range["A4:A5"].BorderAround(LineStyleType.Thin);
   sheet.Range["A4:A5"].BorderInside(LineStyleType.Thin);
   sheet.Range["A7:A8"].BorderAround(LineStyleType.Thin);
   sheet.Range["A7:A8"].BorderInside(LineStyleType.Thin);
   sheet.Range["A10:A13"].BorderAround(LineStyleType.Thin);
   sheet.Range["A10:A13"].BorderInside(LineStyleType.Thin);
   //Guardar documento
   workbook.SaveToFile("output.xlsx", ExcelVersion.Version2013);
   System.Diagnostics.Process.Start("output.xlsx");
  }
 }
}

Estos son todos los pasos de operación para configurar la agrupación de múltiples niveles en Excel.

Esto es todo el contenido del artículo, espero que sea útil para su aprendizaje y que todos nos apoyen en el tutorial de alarido.

Declaración: El contenido de este artículo se obtiene de la red, es propiedad del autor original, el contenido se contribuye y carga de manera autónoma por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha editado manualmente y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @) para denunciar y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará