Agrupando y Desagrupando Filas y Columnas
Introducción
En un archivo de Microsoft Excel, puedes crear un esquema para los datos que te permita mostrar y ocultar niveles de detalle con un solo clic de ratón.
Haz clic en los Símbolos de Esquema, 1,2,3, + y - para mostrar rápidamente solo las filas o columnas que proporcionen resúmenes o encabezados para secciones en una hoja de cálculo, o puedes usar los símbolos para ver detalles bajo un resumen o encabezado individual como se muestra a continuación en la figura:
Agrupar Filas y Columnas. |
---|
![]() |
Gestión de Agrupación de Filas y Columnas
Aspose.Cells proporciona una clase, Workbook que representa un archivo de Microsoft Excel. La clase Workbook contiene una WorksheetCollection que permite acceder a cada hoja de cálculo en el archivo de Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet proporciona una colección Cells que representa todas las celdas en la hoja de cálculo.
La colección Cells proporciona varios métodos para gestionar filas o columnas en una hoja de cálculo, algunos de estos se discuten a continuación con más detalle.
Agrupar Filas y Columnas
Es posible agrupar filas o columnas llamando a los métodos GroupRows y GroupColumns de la colección Cells. Ambos métodos toman los siguientes parámetros:
- Índice de la primera fila/columna, la primera fila o columna del grupo.
- Índice de la última fila/columna, la última fila o columna del grupo.
- Está oculto, un parámetro booleano que especifica si ocultar o no filas/columnas después de agrupar.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Creating a file stream containing the Excel file to be opened | |
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open); | |
// Opening the Excel file through the file stream | |
Workbook workbook = new Workbook(fstream); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Grouping first six rows (from 0 to 5) and making them hidden by passing true | |
worksheet.Cells.GroupRows(0, 5, true); | |
// Grouping first three columns (from 0 to 2) and making them hidden by passing true | |
worksheet.Cells.GroupColumns(0, 2, true); | |
// Saving the modified Excel file | |
workbook.Save(dataDir + "output.xls"); | |
// Closing the file stream to free all resources | |
fstream.Close(); |
Configuración de Grupo
Microsoft Excel te permite configurar la configuración de grupo para mostrar:
- Filas resumen debajo del detalle.
- Columnas de resumen a la derecha del detalle.
Los desarrolladores pueden configurar estas configuraciones de grupo usando la propiedad Outline de la clase Worksheet.
Filas de Resumen Debajo del Detalle
Es posible controlar si se muestran las filas de resumen debajo del detalle configurando la propiedad SummaryRowBelow de la clase Outline en true o false.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "sample.xlsx"); | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Grouping first six rows and first three columns | |
worksheet.Cells.GroupRows(0, 5, true); | |
worksheet.Cells.GroupColumns(0, 2, true); | |
// Setting SummaryRowBelow property to false | |
worksheet.Outline.SummaryRowBelow = false; | |
// Saving the modified Excel file | |
workbook.Save(dataDir + "output.xls"); |
Columnas Resumen a la Derecha del Detalle
Los desarrolladores también pueden controlar la visualización de columnas de resumen a la derecha del detalle configurando la propiedad SummaryColumnRight de la clase Outline en true o false.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
Workbook workbook = new Workbook(dataDir + "sample.xlsx"); | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Grouping first six rows and first three columns | |
worksheet.Cells.GroupRows(0, 5, true); | |
worksheet.Cells.GroupColumns(0, 2, true); | |
worksheet.Outline.SummaryColumnRight = true; | |
// Saving the modified Excel file | |
workbook.Save(dataDir + "output.xls"); |
Desagrupando Filas y Columnas
Para desagrupar filas o columnas agrupadas, llama a los métodos UngroupRows y UngroupColumns de la colección Cells. Ambos métodos toman dos parámetros:
- Índice de la primera fila o columna, la primera fila/columna a desagrupar.
- Índice de la última fila o columna, la última fila/columna a desagrupar.
UngroupRows tiene una sobrecarga que toma un tercer parámetro Booleano. Configurándolo en true eliminará toda la información agrupada. De lo contrario, solo se eliminará la información de grupo externa.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Creating a file stream containing the Excel file to be opened | |
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open); | |
// Instantiating a Workbook object | |
// Opening the Excel file through the file stream | |
Workbook workbook = new Workbook(fstream); | |
// Accessing the first worksheet in the Excel file | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Ungrouping first six rows (from 0 to 5) | |
worksheet.Cells.UngroupRows(0, 5); | |
// Ungrouping first three columns (from 0 to 2) | |
worksheet.Cells.UngroupColumns(0, 2); | |
// Saving the modified Excel file | |
workbook.Save(dataDir + "output.xls"); | |
// Closing the file stream to free all resources | |
fstream.Close(); |