如何在 C# windows 表单中使用具有 space 的字体来创建 excel 工作表?
How to use fonts having space in C# windows form to create excel workseet?
我正在使用 IEnumerable
变量在 C# windows 表单应用程序中创建一个 Excel 工作表。问题是如果字体名称有 1 个单词,我可以设置创建的工作表字体,例如。 'IRNazanin',但对于带有 space 的字体名称,它不起作用,例如。 'B Mitra'。我的代码是:
var wb = new XLWorkbook { RightToLeft = true };
var ws = wb.Worksheets.Add("Sick_Information");
ws.Columns().AdjustToContents();
ws.Style.Font.FontName = "B Mitra";
我试过使用字体名称:
- 没有空间,例如。 "BMitra"
- 带连字符,例如。 "B-Mitra"
- 带下划线,例如。 "B_Mitra"
- 带有额外的单个 qout,例如。 “'B Mitra'”
还是不行。
我正在使用 ClosedXML.Excel
库 ClosedXML
版本 0.94.2.0
和 MS Office 2016。excel 将获取字体名称但不会应用它。
真B Mitra
字体是这样的。 (手动更改)
客户需要 B Mitra
字体和波斯数字的文件。所以没办法改字体了
如果您使用的是 ClosedXML 库,请尝试使用 setFontName 方法:
ws.Style.Font.SetFontName("B Mitra");
"B Mitra"
是有效的字体名称,但您还需要更改 FontCharSet
:
cell.Style.Font.SetFontName("B Mitra");
cell.Style.Font.SetFontCharSet(XLFontCharSet.Arabic);
ClosedXML 默认使用 XLFontCharSet.Default
。输出 Excel 文件显示正确的字体名称,但未正确显示单元格内容:
我使用 Open XML SDK 2.5 Productivity Tool for Microsoft Office 检查 Excel 文件。 XLFontCharSet.Arabic
那里有一行:
FontCharSet fontCharSet6 = new FontCharSet(){ Val = 178 };
并且内容按预期显示。
我正在使用 IEnumerable
变量在 C# windows 表单应用程序中创建一个 Excel 工作表。问题是如果字体名称有 1 个单词,我可以设置创建的工作表字体,例如。 'IRNazanin',但对于带有 space 的字体名称,它不起作用,例如。 'B Mitra'。我的代码是:
var wb = new XLWorkbook { RightToLeft = true };
var ws = wb.Worksheets.Add("Sick_Information");
ws.Columns().AdjustToContents();
ws.Style.Font.FontName = "B Mitra";
我试过使用字体名称:
- 没有空间,例如。 "BMitra"
- 带连字符,例如。 "B-Mitra"
- 带下划线,例如。 "B_Mitra"
- 带有额外的单个 qout,例如。 “'B Mitra'”
还是不行。
我正在使用 ClosedXML.Excel
库 ClosedXML
版本 0.94.2.0
和 MS Office 2016。excel 将获取字体名称但不会应用它。
真B Mitra
字体是这样的。 (手动更改)
客户需要 B Mitra
字体和波斯数字的文件。所以没办法改字体了
如果您使用的是 ClosedXML 库,请尝试使用 setFontName 方法:
ws.Style.Font.SetFontName("B Mitra");
"B Mitra"
是有效的字体名称,但您还需要更改 FontCharSet
:
cell.Style.Font.SetFontName("B Mitra");
cell.Style.Font.SetFontCharSet(XLFontCharSet.Arabic);
ClosedXML 默认使用 XLFontCharSet.Default
。输出 Excel 文件显示正确的字体名称,但未正确显示单元格内容:
我使用 Open XML SDK 2.5 Productivity Tool for Microsoft Office 检查 Excel 文件。 XLFontCharSet.Arabic
那里有一行:
FontCharSet fontCharSet6 = new FontCharSet(){ Val = 178 };
并且内容按预期显示。