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