Aplicar subtotal y cambiar la dirección de las filas de resumen del esquema debajo del detalle
Este artículo explicará cómo aplicar el subtotal a los datos y cómo cambiar la dirección de las filas de resumen del esquema debajo del detalle.
Puede aplicar Subtotal a los datos usandoHoja de trabajo.Cells.subtotal() método. Toma los siguientes parámetros.
- área de celda El rango para aplicar el subtotal en
- Agrupar por - El campo por el que agrupar, como un desplazamiento de entero basado en cero
- Función - La función de subtotal.
- ListaTotal - Una matriz de compensaciones de campo de base cero, que indica los campos a los que se agregan los subtotales.
- Reemplazar - Indica si reemplaza los subtotales actuales
- Saltos de página - Indica si agregar un salto de página entre grupos
- Resumen debajo de los datos - Indica si se añade resumen debajo de los datos.
Además, puede controlar la dirección del contornoFilas de resumen debajo del detalle como se muestra en la siguiente captura de pantalla usandoHoja de trabajo.getOutline().SummaryRowBelow propiedad. Puede abrir esta configuración en Microsoft Excel usandoDatos > Esquema > Configuración
Ejemplo
Capturas de pantalla que comparan archivos de origen y de salida
La siguiente captura de pantalla muestra el archivo fuente de Excel utilizado en el código de ejemplo a continuación, que contiene algunos datos en las columnas A y B.
La siguiente captura de pantalla muestra el archivo de salida de Excel generado por el código de muestra. Como puede ver, el subtotal se ha aplicado al rangoA2:B11 y la dirección del contorno es filas de resumen debajo del detalle.
Java código para aplicar el subtotal y cambiar la dirección de las filas de resumen del esquema debajo del detalle
Aquí está el código de muestra para lograr el resultado como se muestra arriba.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
//directories | |
String sourceDir = Utils.Get_SourceDirectory(); | |
String outputDir = Utils.Get_OutputDirectory(); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(sourceDir + "SampleSubtotal.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.getWorksheets().get(0); | |
// Get the Cells collection in the first worksheet | |
Cells cells = worksheet.getCells(); | |
// Create a cellarea i.e.., A2:B11 | |
CellArea ca = CellArea.createCellArea("A2", "B11"); | |
// Apply subtotal, the consolidation function is Sum and it will applied to | |
// Second column (B) in the list | |
cells.subtotal(ca, 0, ConsolidationFunction.SUM, new int[] { 1 }, true, false, true); | |
// Set the direction of outline summary | |
worksheet.getOutline().setSummaryRowBelow(true); | |
// Save the excel file | |
workbook.save(outputDir + "ASubtotal_out.xlsx"); |