Applicando Subtotal e modificando la direzione delle righe di riepilogo outline sotto i dettagli con C++
Questo articolo spiegherà come applicare Subtotal ai dati e cambiare la direzione delle righe di riepilogo outline sotto i dettagli.
Puoi applicare Subtotal ai dati usando il metodo Worksheet.Cells.Subtotal(). Esso accetta i seguenti parametri:
- AreaCella - L’intervallo su cui applicare il subtotale
- RaggruppaPer - Il campo su cui raggruppare, come un offset intero basato su zero
- Funzione - La funzione del subtotale
- ListaTotale - Un array di offset del campo basato su zero, indicando i campi a cui vengono aggiunti i subtotali
- Replace - Indica se sostituire i subtotali attuali
- PageBreaks - Indica se aggiungere interruzioni di pagina tra i gruppi
- SummaryBelowData - Indica se aggiungere il riepilogo sotto i dati.
Puoi anche controllare la direzione delle righe di riepilogo sotto il dettaglio dell’outline come mostrato nello screenshot seguente usando la proprietà Worksheet.Outline.SummaryRowBelow
. Puoi aprire questa impostazione in Microsoft Excel tramite Dati > Riquadro Outline > Impostazioni.
Immagini dei file di origine e di output
La seguente immagine mostra il file Excel di origine utilizzato nel codice di esempio sottostante che contiene alcuni dati nelle colonne A e B.
La seguente schermata mostra il file Excel generato dal codice di esempio. Come si può vedere, è stato applicato un subtotale al range A2:B11 e la direzione dell’outline è righe di riepilogo sotto i dettagli.
Codice C++ per applicare Subtotal e modificare la direzione delle righe di riepilogo outline
Ecco il codice di esempio per ottenere l’output mostrato sopra.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Output directory path
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Create workbook from source Excel file
Workbook workbook(srcDir + u"Book1.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(u"A2", u"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, { 1 }, true, false, true);
// Set the direction of outline summary
worksheet.GetOutline().SetSummaryRowBelow(true);
// Save the excel file
workbook.Save(outDir + u"output_out.xlsx");
std::cout << "Subtotal applied successfully!" << std::endl;
Aspose::Cells::Cleanup();
}