Gruppering och avgruppering av rader och kolumner

Introduktion

I en Microsoft Excel-fil kan du skapa en översikt över data för att kunna visa och dölja detaljnivåer med en enda musklick.

Klicka på Översiktssymbolerna, 1,2,3, + och - för att snabbt visa endast de rader eller kolumner som ger sammanfattningar eller rubriker för avsnitt i ett kalkylblad, eller så kan du använda symbolerna för att se detaljer under en individuell sammanfattning eller rubrik som visas nedan i figuren:

Grupp av rader & kolumner

todo:image_alt_text

Hantering av gruppering av rader och kolumner

Aspose.Cells tillhandahåller en klass, Workbook som representerar en Microsoft Excel-fil. Workbook klassen innehåller en Worksheets samling som tillåter åtkomst till varje kalkylblad i Excel-filen. Ett kalkylblad representeras av Worksheet klassen. Worksheet klassen tillhandahåller en Cells samling som representerar alla celler i kalkylarket.

Cells samlingen tillhandahåller flera metoder för att hantera rader eller kolumner i ett kalkylblad, några av dessa diskuteras nedan mer detaljerat.

Gruppering av rader och kolumner

Det är möjligt att gruppera rader eller kolumner genom att anropa groupRows och groupColumns metoderna i Cells samlingen. Båda metoderna tar följande parametrar:

  • Första radens/kolumnens index, den första raden eller kolumnen i gruppen.
  • Sista radens/kolumnens index, den sista raden eller kolumnen i gruppen.
  • Är dold, en boolesk parameter som specificerar om rader/kolumner ska döljas efter gruppering eller inte.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(GroupingRowsandColumns.class) + "RowsAndColumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "Book1.xlsx");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
Cells cells = worksheet.getCells();
// Grouping first six rows (from 0 to 5) and making them hidden by
// passing true
cells.groupRows(0, 5, true);
// Grouping first three columns (from 0 to 2) and making them hidden by
// passing true
cells.groupColumns(0, 2, true);
// Setting SummaryRowBelow property to false
worksheet.getOutline().setSummaryRowBelow(true);
// Setting SummaryColumnRight property to false
worksheet.getOutline().setSummaryColumnRight(true);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "GroupingRowsandColumns_out.xlsx");

Gruppinställningar

Microsoft Excel tillåter också att konfigurera gruppinstillningar för att visa:

  • Sammanfattande rader under detaljer.
  • Sammanfattande kolumner till höger om detaljerna.

Gruppinställningar

todo:image_alt_text

Det går att konfigurera dessa gruppinställningar genom att använda Worksheet-klassens Outline-egenskap.

Sammanfattande rader nedanför detaljerna

Utvecklare kan styra visningen av sammanfattande rader nedanför detaljerna genom att använda Outline-klassens SummaryRowBelow-metod.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(SummaryRowBelow.class) + "RowsAndColumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "book1.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
Cells cells = worksheet.getCells();
// Grouping first six rows (from 0 to 5) and making them hidden by passing true
cells.groupRows(0, 5, true);
// Grouping first three columns (from 0 to 2) and making them hidden by passing true
cells.groupColumns(0, 2, true);
// Setting SummaryRowBelow property to false
worksheet.getOutline().setSummaryRowBelow(false);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "SummaryRowBelow_out.xls");

Sammanfattande kolumner till höger om detalj

Det går att kontrollera om sammanfattande kolumner visas till höger om detaljerna med Outline-klassens SummaryColumnRight-metod.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(SummaryRowRight.class) + "RowsAndColumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "BookStyles.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
Cells cells = worksheet.getCells();
// Grouping first six rows (from 0 to 5) and making them hidden by passing true
cells.ungroupRows(0, 5);
// Grouping first three columns (from 0 to 2) and making them hidden by passing true
cells.ungroupColumns(0, 2);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "SummaryRowRight_out.xls");

Avgruppering av rader och kolumner

Avgruppera grupperade rader eller kolumner genom att anropa Cells-kollektionens UngroupRows- och UngroupColumns-metoder. Båda metoderna tar samma parametrar:

  • Första radens/kolumnens index, den första raden/kolumnen att avgrupperas.
  • Sista radens/kolumnens index, den sista raden/kolumnen att avgrupperas.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(UngroupingRowsandColumns.class) + "rows_cloumns/";
// Instantiating a Workbook object
Workbook workbook = new Workbook(dataDir + "BookStyles.xls");
// Accessing the first worksheet in the Excel file
Worksheet worksheet = workbook.getWorksheets().get(0);
Cells cells = worksheet.getCells();
// Grouping first six rows (from 0 to 5) and making them hidden by
// passing true
cells.ungroupRows(0, 5);
// Grouping first three columns (from 0 to 2) and making them hidden by
// passing true
cells.ungroupColumns(0, 2);
// Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(dataDir + "UngroupingRowsandColumns_out.xls");
// Print message
System.out.println("Rows and Columns ungrouped successfully.");