Tillämpa delsumma och ändra riktning på sammanfattning av sammanfattningsrader nedanför detaljer
Denna artikel förklarar hur du tillämpar delsumma på data och ändrar riktningen på sammanfattningsrader under detaljerna.
Du kan tillämpa delsumma på data med hjälp av Worksheet.Cells.subtotal() metoden. Den tar följande parametrar.
- CellArea - Intervallet att tillämpa delsumma på
- GroupBy - Fältet som ska grupperas efter, som en nollbaserad heltalsförskjutning
- Function - Delsummeringsfunktionen.
- TotalList - En matris med nollbaserade fältförskjutningar som indikerar fälten som delsummorna läggs till.
- Replace - Indikerar om de nuvarande delsummorna ska ersättas
- PageBreaks - Indikerar om en sidbrytning ska läggas till mellan grupperna
- SummaryBelowData - Indikerar om en sammanfattning ska läggas till under datan.
Du kan också kontrollera riktningen på Sammanfattningsrader nedanför detaljer som visas i följande skärmbild med hjälp av egenskapen Worksheet.getOutline().SummaryRowBelow. Du kan öppna denna inställning i Microsoft Excel genom att använda Data > Summering > Inställningar
Exempel
Skärmbilder som jämför käll- och utdatafiler
Följande skärmbild visar den ursprungliga Excel-filen som används i den kodexempel nedan som innehåller några data i kolumnerna A och B.
Följande skärmbild visar den genererade Excel-filen som utdata av kodexemplet. Som du kan se har delsumma tillämpats på intervallet A2:B11 och riktningen på sammanfattningen är sammanfattningsrader nedanför detaljerna.
Java-kod för att tillämpa delsumma och ändra riktning på sammanfattning av sammanfattande rader nedanför detaljerne
Här är kodexempel 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"); |