Raggruppamento e Sgrovigliamento di Righe e Colonne

Introduzione

In un file Microsoft Excel, è possibile creare un’outline per i dati che consente di mostrare e nascondere livelli di dettaglio con un singolo clic del mouse.

Fare clic sui Simboli di Riepilogo, 1,2,3, + e - per visualizzare rapidamente solo le righe o colonne che forniscono riepiloghi o intestazioni per sezioni in un foglio di lavoro, oppure è possibile utilizzare i simboli per vedere i dettagli sotto un riepilogo o intestazione individuale come mostrato di seguito nella figura:

Raggruppamento di Righe e Colonne
todo:image_alt_text

Gestione gruppi di righe e colonne

Aspose.Cells fornisce una classe, Workbook che rappresenta un file Microsoft Excel. La classe Workbook contiene un WorksheetCollection che consente l’accesso a ciascun foglio di lavoro nel file Excel. Un foglio di lavoro è rappresentato dalla classe Worksheet. La classe Worksheet fornisce una collezione Cells che rappresenta tutte le celle nel foglio di lavoro.

La raccolta Cells fornisce diversi metodi per gestire righe o colonne in un foglio di lavoro, alcuni di questi sono discussi di seguito in modo più dettagliato.

Raggruppamento di Righe e Colonne

È possibile raggruppare righe o colonne chiamando i metodi GroupRows e GroupColumns della raccolta Cells. Entrambi i metodi prendono i seguenti parametri:

  • Indice della prima riga/colonna, la prima riga o colonna nel gruppo.
  • Indice dell’ultima riga/colonna, l’ultima riga o colonna nel gruppo.
  • È nascosto, un parametro booleano che specifica se nascondere o meno righe/colonne dopo il raggruppamento.
// 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);
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open);
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Grouping first six rows (from 0 to 5) and making them hidden by passing true
worksheet.Cells.GroupRows(0, 5, true);
// Grouping first three columns (from 0 to 2) and making them hidden by passing true
worksheet.Cells.GroupColumns(0, 2, true);
// Saving the modified Excel file
workbook.Save(dataDir + "output.xls");
// Closing the file stream to free all resources
fstream.Close();

Impostazioni di raggruppamento

Microsoft Excel consente di configurare le impostazioni di raggruppamento per la visualizzazione:

  • Le righe di riassunto sotto il dettaglio.
  • Le colonne di riepilogo a destra del dettaglio.

Gli sviluppatori possono configurare queste impostazioni di gruppo utilizzando la proprietà Outline della classe Worksheet.

Riepiloghi delle Righe al di Sotto del Dettaglio

È possibile controllare se le righe di riepilogo vengono visualizzate sotto i dettagli impostando la proprietà SummaryRowBelow della classe Outline su true o false.

// 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);
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
// Grouping first six rows and first three columns
worksheet.Cells.GroupRows(0, 5, true);
worksheet.Cells.GroupColumns(0, 2, true);
// Setting SummaryRowBelow property to false
worksheet.Outline.SummaryRowBelow = false;
// Saving the modified Excel file
workbook.Save(dataDir + "output.xls");

Colonne sommario a destra dei dettagli

I developer possono anche controllare la visualizzazione delle colonne riepilogative a destra dei dettagli impostando la proprietà SummaryColumnRight della classe Outline su true o false.

// 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);
Workbook workbook = new Workbook(dataDir + "sample.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
// Grouping first six rows and first three columns
worksheet.Cells.GroupRows(0, 5, true);
worksheet.Cells.GroupColumns(0, 2, true);
worksheet.Outline.SummaryColumnRight = true;
// Saving the modified Excel file
workbook.Save(dataDir + "output.xls");

Separazione delle righe e delle colonne

Per annullare il raggruppamento di qualsiasi riga o colonna raggruppata, chiamare i metodi UngroupRows e UngroupColumns della collezione Cells. Entrambi i metodi richiedono due parametri:

  • Indice della prima riga o colonna, la prima riga/colonna da sraggruppare.
  • Indice dell’ultima riga o colonna, l’ultima riga/colonna da sraggruppare.

UngroupRows ha un sovraccarico che richiede un terzo parametro booleano. Impostandolo su true si rimuovono tutte le informazioni raggruppate. In caso contrario, viene rimossa solo l’informazione esterna del gruppo.

// 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);
// Creating a file stream containing the Excel file to be opened
FileStream fstream = new FileStream(dataDir + "book1.xls", FileMode.Open);
// Instantiating a Workbook object
// Opening the Excel file through the file stream
Workbook workbook = new Workbook(fstream);
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.Worksheets[0];
// Ungrouping first six rows (from 0 to 5)
worksheet.Cells.UngroupRows(0, 5);
// Ungrouping first three columns (from 0 to 2)
worksheet.Cells.UngroupColumns(0, 2);
// Saving the modified Excel file
workbook.Save(dataDir + "output.xls");
// Closing the file stream to free all resources
fstream.Close();