Close





 
Wednesday, 19 January 2011 06:50

How to Create Group in Excel

What is Excel Group?

Excel has some pretty nifty features for those who know where to find them. Among the easier ones to use it is Group and Outline, which allows you to group large quantities of data. It is a basic and useful function for Excel. Here I will show you how to create group by using VB.NET/C# create group in Excel with Spire.XLS below.

How to Create Group with Spire.XLS?

Spire.XLS presents you an easiest way to create group in Excel worksheet. You may use sheet.GroupByRows and sheet.GroupByColumns methods to group rows and columns respectively. In sheet.GroupByRows method, you should give three parameters: First row of the group, last row of the group, the third one is a bool value, it specifies whether the collapsed.
Following is the demo, in this demo in order to reflect the effect conveniently, we delete other grids of the worksheet by assigning the sheet.GridLinesVisible property false. What's more, we apply a style and borders into it.
[C#]
using Spire.Xls;
using System.Drawing;

namespace Edit
{
    class Program
    {
        static void Main(string[] args)
        {
            //Create a new workbook
            Workbook workbook = new Workbook();

            //Initialize worksheet
            Worksheet sheet = workbook.Worksheets[0];

            //Country
            sheet.Range["A1"].Value = "Country";
            sheet.Range["A2"].Value = "Cuba";
            sheet.Range["A3"].Value = "Mexico";
            sheet.Range["A4"].Value = "France";
            sheet.Range["A5"].Value = "German";

            //Jun
            sheet.Range["B1"].Value = "Jun";
            sheet.Range["B2"].NumberValue = 6000;
            sheet.Range["B3"].NumberValue = 8000;
            sheet.Range["B4"].NumberValue = 9000;
            sheet.Range["B5"].NumberValue = 8500;

            //Aug
            sheet.Range["C1"].Value = "Aug";
            sheet.Range["C2"].NumberValue = 3000;
            sheet.Range["C3"].NumberValue = 2000;
            sheet.Range["C4"].NumberValue = 2300;
            sheet.Range["C5"].NumberValue = 4200;

            //Style
            sheet.Range["A1:C1"].Style.Font.IsBold = true;
            sheet.Range["A2:C2"].Style.KnownColor = ExcelColors.LightYellow;
            sheet.Range["A3:C3"].Style.KnownColor = ExcelColors.LightGreen1;
            sheet.Range["A4:C4"].Style.KnownColor = ExcelColors.LightOrange;
            sheet.Range["A5:C5"].Style.KnownColor = ExcelColors.LightTurquoise;

            //Border
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeTop].Color = Color.FromArgb(0, 0, 128);
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.Thin;
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeBottom].Color = Color.FromArgb(0, 0, 128);
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin;
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeLeft].Color = Color.FromArgb(0, 0, 128);
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeLeft].LineStyle = LineStyleType.Thin;
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeRight].Color = Color.FromArgb(0, 0, 128);
            sheet.Range["A1:C5"].Style.Borders[BordersLineType.EdgeRight].LineStyle = LineStyleType.Thin;

            //Set number format
            sheet.Range["B2:C5"].Style.NumberFormat = "\"$\"#,##0";

            //Sheet line style
            sheet.GridLinesVisible = false;

            //Group rows
            sheet.GroupByRows(1, 5, false);

            //Group columns
            sheet.GroupByColumns(1, 3, false);

            //Save the file
            workbook.SaveToFile("Sample.xls");

            //Launch the file
            System.Diagnostics.Process.Start("Sample.xls");
        }
    }
}      
          
[Visual Basic]
Imports Spire.Xls
Imports System.Drawing

Module Module1

    Sub Main()
        'Create a new workbook
        Dim workbook As New Workbook()

        'Initialize worksheet
        Dim sheet As Worksheet = workbook.Worksheets(0)

        'Country
        sheet.Range("A1").Value = "Country"
        sheet.Range("A2").Value = "Cuba"
        sheet.Range("A3").Value = "Mexico"
        sheet.Range("A4").Value = "France"
        sheet.Range("A5").Value = "German"

        'Jun
        sheet.Range("B1").Value = "Jun"
        sheet.Range("B2").NumberValue = 6000
        sheet.Range("B3").NumberValue = 8000
        sheet.Range("B4").NumberValue = 9000
        sheet.Range("B5").NumberValue = 8500

        'Aug
        sheet.Range("C1").Value = "Aug"
        sheet.Range("C2").NumberValue = 3000
        sheet.Range("C3").NumberValue = 2000
        sheet.Range("C4").NumberValue = 2300
        sheet.Range("C5").NumberValue = 4200

        'Style
        sheet.Range("A1:C1").Style.Font.IsBold = True
        sheet.Range("A2:C2").Style.KnownColor = ExcelColors.LightYellow
        sheet.Range("A3:C3").Style.KnownColor = ExcelColors.LightGreen1
        sheet.Range("A4:C4").Style.KnownColor = ExcelColors.LightOrange
        sheet.Range("A5:C5").Style.KnownColor = ExcelColors.LightTurquoise

        'Border
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeTop).Color = Color.FromArgb(0, 0, 128)
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeTop).LineStyle = LineStyleType.Thin
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeBottom).Color = Color.FromArgb(0, 0, 128)
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeBottom).LineStyle = LineStyleType.Thin
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeLeft).Color = Color.FromArgb(0, 0, 128)
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeLeft).LineStyle = LineStyleType.Thin
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeRight).Color = Color.FromArgb(0, 0, 128)
        sheet.Range("A1:C5").Style.Borders(BordersLineType.EdgeRight).LineStyle = LineStyleType.Thin

        'Set number format
        sheet.Range("B2:C5").Style.NumberFormat = """$""#,##0"

        'Set worksheet style
        sheet.GridLinesVisible = False

        'Group rows
        sheet.GroupByRows(1,5,False)

        'Group columns
        sheet.GroupByColumns(1,3,False)

        'Save doc file.
        workbook.SaveToFile("Sample.xls")

        'Launch the file.
        System.Diagnostics.Process.Start("Sample.xls")
    End Sub
End Module
          
After running the demo, you will find the worksheet is divided into a group.
Published in Program Guide
Saturday, 03 July 2010 10:01

EXCEL Group for C#, VB.NET

 

The sample demonstrates how to create group in an excel workbook..

Group.gif

Published in Group