furyfish
furyfish

Reputation: 2135

Create a Rectangle in an excel using C#?

This is my code:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, 47, 280, 140, 90);
xlWorkSheet.Shapes.AddTextEffect(MsoPresetTextEffect.msoTextEffect1, "simple text", "Arial", 14, MsoTriState.msoTrue, MsoTriState.msoFalse, 67, 320);

I want to create a Rounded Rectangle with format like "Colored Outline - Orange, Accent 6" in MS Office 2010. Somebody help me?

Upvotes: 2

Views: 5371

Answers (1)

MMK
MMK

Reputation: 3721

You can use EPPLUS alot of shapes are supported.

Just add the reference into your project.

Include following namespaces and code snippet below to add rounded rectangle.

using OfficeOpenXml;
using OfficeOpenXml.Style;
using OfficeOpenXml.Drawing;       

FileInfo newFile = new FileInfo(@"C:\ExcelFiles\RoundedRectangle.xlsx");
ExcelPackage pck = new ExcelPackage(newFile);
//Add the Content sheet
var ws = pck.Workbook.Worksheets.Add("MySheet");
ws.View.ShowGridLines = false;
var shape = ws.Drawings.AddShape("Description", eShapeStyle.RoundRect);
shape.SetPosition(0, 5, 5, 5);
shape.SetSize(400, 200);
shape.Text = "Text inside the round rectangle";
shape.Fill.Style = eFillStyle.SolidFill;
shape.Fill.Transparancy = 20;
shape.Border.Fill.Style = eFillStyle.SolidFill;
shape.Border.LineStyle = eLineStyle.LongDash;
shape.Border.Width = 1;
shape.Border.Fill.Color = Color.Black;
shape.Border.LineCap = eLineCap.Round;
shape.TextAnchoring = eTextAnchoringType.Top;
shape.TextVertical = eTextVerticalType.Horizontal;
shape.TextAnchoringControl = false;

pck.Save();

Upvotes: 3

Related Questions