This topic demonstrates how to create a predefined shape through the Infragistics Excel Engine.
The topic is organized as follows:
Infragistics4.Documents.Excel.v25.1 assembly added to your Visual Studio Windows Forms project
A button with a Click event
The code snippet below creates a predefinedshape with the following parameters:
Shape: Diamond
Flipped Horizontally: True
Flipped Vertically: True
Fill: DeepSkyBlue
Outline: Black
You need to paste the code into the Click event of the button.
Explanatory comments for each manipulation of the shape are being provided in the code.
Following is a preview of the final result.
Figure 1: Predefined shape that is created from the example code
In C#:
// Use a workbook and worksheet to hold the predefined shape
Infragistics.Documents.Excel.Workbook workbook = new Infragistics.Documents.Excel.Workbook();
Infragistics.Documents.Excel.Worksheet worksheet = workbook.Worksheets.Add("Shapes");
// Creating a predefined shape
WorksheetShape shape = WorksheetShape.CreatePredefinedShape(PredefinedShapeType.Diamond);
// How to set a shape's text value
WorksheetShapeWithText shapeWithText = shape as WorksheetShapeWithText;
if (shapeWithText != null)
{
shapeWithText.Text = new FormattedText("Your Text");
}
// How to flip a shape horizonatally
shape.FlippedHorizontally = true;
// How to flip a shape vertically
shape.FlippedVertically = true;
// How to fill a shape with color
shape.Fill = ShapeFill.FromColor(Color.DeepSkyBlue);
// How to create an outline around a shape with color
shape.Outline = ShapeOutline.FromColor(Color.Black);
// How to set the position of the shape
// - Set the top left corner of the shape to cell A0
shape.TopLeftCornerCell = worksheet.Rows[0].Cells[0];
// - Set the bottom right corner of the shape to cell D12
shape.BottomRightCornerCell = worksheet.Rows[11].Cells[4];
// Add the shape to the worksheet
worksheet.Shapes.Add(shape);
// Save the workbook
workbook.Save("your_workbook.xls");
In Visual Basic:
' Use a workbook and worksheet to hold the predefined shape
Dim workbook As New Infragistics.Documents.Excel.Workbook()
Dim worksheet As Infragistics.Documents.Excel.Worksheet = workbook.Worksheets.Add("Shapes")
' Creating a predefined shape
Dim shape As WorksheetShape = WorksheetShape.CreatePredefinedShape(PredefinedShapeType.Diamond)
' How to set a shape's text value
Dim shapeWithText As WorksheetShapeWithText = TryCast(shape, WorksheetShapeWithText)
If shapeWithText IsNot Nothing Then
shapeWithText.Text = New FormattedText("Your Text")
End If
' How to flip a shape horizonatally
shape.FlippedHorizontally = True ' How to flip a shape vertically
shape.FlippedVertically = True ' How to fill a shape with color
shape.Fill = ShapeFill.FromColor(Color.DeepSkyBlue)
' How to create an outline around a shape with color
shape.Outline = ShapeOutline.FromColor(Color.Black)
' How to set the position of the shape' - Set the top left corner of the shape to cell A0
shape.TopLeftCornerCell = worksheet.Rows(0).Cells(0)
' Set the bottom right corner of the shape to cell D12
shape.BottomRightCornerCell = worksheet.Rows(11).Cells(4)
' Add the shape to the worksheet
worksheet.Shapes.Add(shape)
' Save the workbook
workbook.Save("your_workbook.xls")