使用EPPlus C#在单个Excel单元格中给予不同的样式

yvfmudvl  于 2023-06-07  发布在  C#
关注(0)|答案(1)|浏览(273)

我无法找到一种方法来在不同的样式中设置单个Excel单元格的样式。例如,我需要在一个单元格中只将字符串的一部分设为粗体,其余部分不设为粗体。我只能访问细胞,不能访问EPPlus中的字符。
Excel图像:

通常我对单元格进行样式化的方法是,

ExcelPackage package = new ExcelPackage();
ExcelWorksheet ws = package.Workbook.Worksheets.Add("SheetName");
ws.Cells[1, 1].Style.Font.Bold = true;

我找不到一种方法来访问细胞中的字符。我看到一些其他的excel插件做了同样的事情,但有没有什么办法EPPlus可以做到这一点?任何建议将是伟大的。谢谢

zysjyyx4

zysjyyx41#

您必须将单元格设置为RichText单元格,并将内容添加为RichText:

using (ExcelPackage ep = new ExcelPackage())
{
    var sheet = ep.Workbook.Worksheets.Add("Sheet1");
    
    //Creating a RichText Cell
    var cell = sheet.Cells[1,1];
    cell.IsRichText = true;
    //Create the content
    var part1 = cell.RichText.Add("This is blue bold");
    part1.Bold = true;
    part1.Color = System.Drawing.Color.Blue;
    var part2 = cell.RichText.Add(" And this is red and not bold");
    part2.Bold = false;
    part2.Color = System.Drawing.Color.Red;
    
    ep.SaveAs(new FileInfo(myFile));
}

相关问题