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
- Sidbrytningar - Indikerar om man ska lägga till sidbrytning mellan grupper
- SummaryBelowData - Indikerar om en sammanfattning ska läggas till under datan.
Du kan också styra riktningen för översiktsrader under detaljer som visas i följande skärmbild med hjälp av Worksheet.Outline.SummaryRowBelow-egenskapen. Du kan öppna denna inställning i Microsoft Excel med Data > Översikt > Inställningar
Bilder av 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 skapats av provkoden. Som du kan se har subtotalen tillämpats på intervall A2:B11 och riktningen på översikten är sammanfattningar av rader under detaljer.
C#-kod för att tillämpa delsumma och ändra riktning av summering underdetalj- rader
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-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); | |
// Create workbook from source Excel file | |
Workbook workbook = new Workbook(dataDir + "Book1.xlsx"); | |
// Access the first worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
// Get the Cells collection in the first worksheet | |
Cells cells = worksheet.Cells; | |
// 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.Outline.SummaryRowBelow = true; | |
// Save the excel file | |
workbook.Save(dataDir + "output_out.xlsx"); |