Tillämpa delsumma och ändra riktning på kontursammanfattningsraderna under detalj
Den här artikeln kommer att förklara hur du tillämpar delsumma på data och ändrar riktningen för översiktssammanfattningsraderna nedanför detalj.
Du kan tillämpa delsumma på data med hjälp avArbetsblad.Cells.subtotal() metod. Den kräver följande parametrar.
- CellArea Intervallet att tillämpa delsumma på
- Grupp av - Fältet att gruppera efter, som en nollbaserad heltalsoffset
- Fungera - Deltotalfunktionen.
- Totallista - En matris med nollbaserade fältförskjutningar, som indikerar de fält till vilka delsummorna läggs till.
- Byta ut - Indikerar om de nuvarande delsummorna ersätts
- Pagebreaks - Anger om du lägger till en sidbrytning mellan grupper
- SammanfattningBelowData - Indikerar om du lägger till sammanfattning under data.
Du kan också styra riktningen för OutlineSammanfattningsrader nedan detalj som visas i följande skärmdump med hjälp avWorksheet.getOutline().SummaryRowBelow fast egendom. Du kan öppna den här inställningen i Microsoft Excel medData > Disposition > Inställningar
Exempel
Skärmdumpar som jämför käll- och utdatafiler
Följande skärmdump visar källfilen för Excel som används i exempelkoden nedan som innehåller vissa data i kolumnerna A och B.
Följande skärmdump visar den utgående Excel-filen som genereras av exempelkoden. Som du kan se har delsumman tillämpats på intervalletA2:B11 och konturens riktning är sammanfattningsrader under detaljen.
Java-kod för att tillämpa delsumma och ändra riktning för kontursammanfattningsraderna nedanför detalj
Här är exempelkoden för att uppnå utdata som visas ovan.
// 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"); |