gpt4 book ai didi

c# - 如何在 C# windows 窗体中使用有空格的字体来创建 Excel 工作表?

转载 作者:行者123 更新时间:2023-12-04 22:24:24 30 4
gpt4 key购买 nike

我正在使用 IEnumerable在 C# windows 窗体应用程序中创建 Excel 工作表的变量。问题是如果字体名称有 1 个单词,例如,我可以设置创建的工作表字体。 'IRNazanin',但对于带有空格的字体名称,它不起作用,例如。 'B 米特拉'。我的代码是:

var wb = new XLWorkbook { RightToLeft = true };
var ws = wb.Worksheets.Add("Sick_Information");
ws.Columns().AdjustToContents();
ws.Style.Font.FontName = "B Mitra";

我试过使用字体名称:
  • 没有时间,例如。 "BMitra"
  • 带连字符,例如。 “B-米特拉”
  • 带下划线,例如。 "B_Mitra"
  • 带有额外的单个 qout,例如。 “‘B 米特拉’”

  • 还是行不通。
    我正在使用 ClosedXML.Excel ClosedXML 的图书馆版本 0.94.2.0和 MS Office 2016。excel 将获取字体名称但不会应用它。

    enter image description here

    B Mitra字体是这样的。 (手动更改)

    enter image description here

    客户需求文件与 B Mitra字体和波斯数字。所以我别无选择更改字体。

    最佳答案

    "B Mitra"是有效的字体名称,但您还需要更改 FontCharSet :

    cell.Style.Font.SetFontName("B Mitra");
    cell.Style.Font.SetFontCharSet(XLFontCharSet.Arabic);

    ClosedXML 使用 XLFontCharSet.Default默认。输出 Excel 文件显示正确的字体名称,但不能正确显示单元格内容:

    font

    我使用 Open XML SDK 2.5 Productivity Tool for Microsoft Office 来检查 Excel 文件。与 XLFontCharSet.Arabic那里有一条线:
    FontCharSet fontCharSet6 = new FontCharSet(){ Val = 178 };

    并且内容按预期显示。

    关于c# - 如何在 C# windows 窗体中使用有空格的字体来创建 Excel 工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59476025/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com