How to apply font to shape text?
8 Dec 20233 minutes to read
The following code snippet shows how to apply or change the shape text font.
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
FileStream inputStream = new FileStream("Sample.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = application.Workbooks.Open(inputStream, ExcelOpenType.Automatic);
IWorksheet worksheet = workbook.Worksheets[0];
IFont font = workbook.CreateFont();
font.FontName = "Arial";
font.Size = 9;
IShape shape = worksheet.Shapes[0];
shape.TextFrame.TextRange.RichText.SetFont(1, 3, font);
//Saving the workbook as stream
FileStream stream = new FileStream("Output.xlsx", FileMode.Create, FileAccess.ReadWrite);
workbook.SaveAs(stream);
stream.Dispose();
}
using (ExcelEngine excelEngine = new ExcelEngine())
{
IApplication application = excelEngine.Excel;
application.DefaultVersion = ExcelVersion.Xlsx;
IWorkbook workbook = application.Workbooks.Open("Sample.xlsx", ExcelOpenType.Automatic);
IWorksheet worksheet = workbook.Worksheets[0];
IFont font = workbook.CreateFont();
font.FontName = "Arial";
font.Size = 9;
IShape shape = worksheet.Shapes[0];
shape.TextFrame.TextRange.RichText.SetFont(1, 3, font);
//Saving the workbook
workbook.SaveAs("Output.xlsx");
}
Using excelEngine As ExcelEngine = New ExcelEngine()
Dim application As IApplication = excelEngine.Excel
application.DefaultVersion = ExcelVersion.Xlsx
Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx", ExcelOpenType.Automatic)
Dim worksheet As IWorksheet = workbook.Worksheets(0)
Dim font As IFont = workbook.CreateFont
font.FontName = "Arial"
font.Size = 9
Dim shape As IShape = worksheet.Shapes(0)
shape.TextFrame.TextRange.RichText.SetFont(1, 3, font)
'Saving the workbook
workbook.SaveAs("Output.xlsx")
End Using