使用C# NPOI 导出Excel时,只更改单元格内部分文本的字体颜色
使用C# NPOI时,有没有办法只更改单元格内部分文本的字体颜色?
我知道你可以改变整个单元格的字体颜色。但我只想更改该单元格中最后4个字符的颜色。
其实这也这是可以做到的,代码如下:
var newFile = @"newbook.core.xlsx"; using (var fs = new FileStream(newFile, FileMode.Create, FileAccess.Write)) { var workbook = new XSSFWorkbook(); var sheet = workbook.CreateSheet("Sheet1"); var rowIndex = 0; var row = sheet.CreateRow(rowIndex); var cell = row.CreateCell(0); var text = "this is content"; cell.SetCellValue(text); var font = workbook.CreateFont(); font.Color = HSSFColor.Blue.Index2; cell.RichStringCellValue.ApplyFont(text.Length - 4, text.Length, font); workbook.Write(fs); }
该代码也适用于.NET框架和NPOI nuget包。