How to: Group and Ungroup Sparklines

  • 3 min to read

The examples below demonstrate how to group and ungroup sparklines on a worksheet.

Group Sparklines

As mentioned in the How to: Create Sparklines article, all sparklines in a worksheet are stored in sparkline groups. A group allows you to apply formatting and scaling options to all sparklines in the group at the same time. However, you can regroup the existing sparklines to form new groups with their own custom settings. To rearrange worksheet sparklines, follow the steps below.

  1. Get access to the sparklines you wish to regroup by their indices in the SparklineCollection collection accessible from the SparklineGroup.Sparklines property of the SparklineGroup objects containing the corresponding sparklines.
  2. Call the SparklineGroupCollection.Add method overload and pass the following parameters: a list of the sparklines to be grouped together, and the SparklineGroupType enumeration member that specifies the type of the created group.

You can also move a single sparkline to another group by using the Sparkline.MoveTo method.

Worksheet worksheet = workbook.Worksheets["SparklineExamples"];
workbook.Worksheets.ActiveWorksheet = worksheet;

// Create a group of line sparklines.
SparklineGroup lineGroup = worksheet.SparklineGroups.Add(worksheet["G4:G7"], worksheet["C4:F4,C5:F5,C6:F6, C7:F7"], SparklineGroupType.Line);

// Rearrange sparklines by grouping the second and fourth sparklines together and changing the group type to "Column".
Sparkline sparklineG5 = lineGroup.Sparklines[1];
Sparkline sparklineG7 = lineGroup.Sparklines[3];
SparklineGroup columnGroup = worksheet.SparklineGroups.Add(new List<Sparkline> { sparklineG5, sparklineG7 }, SparklineGroupType.Column);

The image below shows the result (the workbook is opened in Microsoft® Excel®).

SpreadsheetControl_Sparklines_RearrangeSparklines

Ungroup Sparklines

To split a set of grouped sparklines into individual sparkline charts, use the SparklineGroup.UnGroup method. Calling this method will split the specified group into separate groups, each of which contains a single Sparkline object. All groups generated this way will have the same type, formatting and axis options as the source group.


// Create a group of line sparklines.
SparklineGroup lineGroup = worksheet.SparklineGroups.Add(worksheet["G4:G7"], worksheet["C4:F4,C5:F5,C6:F6, C7:F7"], SparklineGroupType.Line);

// Split the created group into individual sparklines. 
lineGroup.UnGroup();
See Also