How to set criteria for icon set conditional formats in Excel using XlsIO?
This article explains how to set criteria for icon set conditional formats in Excel document using WinForms XlsIO.
What are IconSets?
Icon sets present data in three to five categories that are distinguished by a threshold value. Each icon represents a range of values and each cell is annotated with the icon that represents that range.
Code snippet to set icon criteria using XlsIO
IIconSet iconSet = conditionalFormat.IconSet;
iconSet.IconSet = ExcelIconSetType.ThreeSymbols;
//Icon set has 3 criteria of which second and third criteria can be changed.
//The first criterion type should not be changed as it is percent by default.
//The value in its condition changes with respect to the value assigned to second criteria.
iconSet.IconCriteria[1].Type = ConditionValueType.Number;
iconSet.IconCriteria[1].Value = "-1";
iconSet.IconCriteria[2].Type = ConditionValueType.Number;
iconSet.IconCriteria[2].Value = "1";
Rule of conditional formatting after setting criteria for icon set conditional formats using XlsIO
1. The first criterion type should not be changed and should be left as “percent” by default.
2. Changing or setting icon criteria for conditional formats holds good for data including negative values as well.
The following C#/VB complete code snippet shows how to set criteria for icon set conditional formats in Excel document using XlsIO.
C#
using Syncfusion.XlsIO;
using System.IO;
namespace ConditionalFormatting
{
class Program
{
static void Main(string[] args)
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
//Instantiate the excel application object
IApplication application = excelEngine.Excel;
//The workbook is opened
IWorkbook workbook;
//Creating a workbook with a worksheet
workbook = application.Workbooks.Create(1);
//The first worksheet object in the worksheets collection is accessed
IWorksheet worksheet = workbook.Worksheets[0];
//Adding data into worksheet
worksheet.Range["A1"].Number = -3;
worksheet.Range["A2"].Number = -2;
worksheet.Range["A3"].Number = -1;
worksheet.Range["A4"].Number = 0;
worksheet.Range["A5"].Number = 1;
worksheet.Range["A6"].Number = 2;
worksheet.Range["A7"].Number = 3;
worksheet.Range["B1"].Number = 3;
worksheet.Range["B2"].Number = 2;
worksheet.Range["B3"].Number = 1;
worksheet.Range["B4"].Number = 0;
worksheet.Range["B5"].Number = -1;
worksheet.Range["B6"].Number = -2;
worksheet.Range["B7"].Number = -3;
//Applying conditional formatting to worksheet
IConditionalFormats conditionalFormats = worksheet.Range["A1:B7"].ConditionalFormats;
IConditionalFormat conditionalFormat = conditionalFormats.AddCondition();
//Appyling icon set
conditionalFormat.FormatType = ExcelCFType.IconSet;
IIconSet iconSet = conditionalFormat.IconSet;
iconSet.IconSet = ExcelIconSetType.ThreeSymbols;
//Icon set has 3 criteria of which second and third criteria can be changed.
//The first criterion type should not be changed as it is percent by default.
//The value in its condition changes with respect to the value assigned to the second criteria.
iconSet.IconCriteria[1].Type = ConditionValueType.Number;
iconSet.IconCriteria[1].Value = "-1";
iconSet.IconCriteria[2].Type = ConditionValueType.Number;
iconSet.IconCriteria[2].Value = "1";
//Save the workbook
Stream stream = File.Create("Output.xlsx");
workbook.SaveAs(stream);
}
}
}
}
VB
Imports Syncfusion.XlsIO
Imports System.IO
Namespace ConditionalFormatting
Class Program
Private Shared Sub Main(ByVal args() As String)
Dim excelEngine As ExcelEngine = New ExcelEngine
'Instantiate the excel application object
Dim application As IApplication = excelEngine.Excel
'The workbook is opened
Dim workbook As IWorkbook
'Creating a workbook with a worksheet
workbook = application.Workbooks.Create(1)
'The first worksheet object in the worksheets collection is accessed
Dim worksheet As IWorksheet = workbook.Worksheets(0)
'Adding data into worksheet
worksheet.Range("A1").Number = -3
worksheet.Range("A2").Number = -2
worksheet.Range("A3").Number = -1
worksheet.Range("A4").Number = 0
worksheet.Range("A5").Number = 1
worksheet.Range("A6").Number = 2
worksheet.Range("A7").Number = 3
worksheet.Range("B1").Number = 3
worksheet.Range("B2").Number = 2
worksheet.Range("B3").Number = 1
worksheet.Range("B4").Number = 0
worksheet.Range("B5").Number = -1
worksheet.Range("B6").Number = -2
worksheet.Range("B7").Number = -3
'Applying conditional formatting to worksheet
Dim conditionalFormats As IConditionalFormats = worksheet.Range("A1:B7").ConditionalFormats
Dim conditionalFormat As IConditionalFormat = conditionalFormats.AddCondition
'Appyling icon set
conditionalFormat.FormatType = ExcelCFType.IconSet
Dim iconSet As IIconSet = conditionalFormat.IconSet
iconSet.IconSet = ExcelIconSetType.ThreeSymbols
'Icon set has 3 criteria of which second and third criteria can be changed.
'The first criterion type should not be changed as it is percent by default.
'The value in its condition changes with respect to the value assigned to the second criteria.
iconSet.IconCriteria(1).Type = ConditionValueType.Number
iconSet.IconCriteria(1).Value = "-1"
iconSet.IconCriteria(2).Type = ConditionValueType.Number
iconSet.IconCriteria(2).Value = "1"
'Save the workbook
Dim stream As Stream = File.Create("Output.xlsx")
workbook.SaveAs(stream)
End Sub
End Class
End Namespace
Conclusion
I hope you enjoyed learning about how to use up down bar for Excel chart in C#, VB.NET.
You can refer to our WinForms Excel’s feature tour page to know about its other groundbreaking feature representations. You can also explore our WinForms Excel documentation to understand how to present and manipulate data.
For current customers, you can check out our WinForms components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our WinForms Excel and other WinForms components.
If you have any queries or require clarifications, please let us know in comments below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!