C# Excel Interop 中的 FormatCondition 字体粗体不起作用

发布于 2024-11-16 10:43:44 字数 337 浏览 2 评论 0原文

我正在向单元格添加一个新的 FormatCondition 并尝试设置一些格式:

Excel.FormatCondition cond = ExcelUtils.AddConditionExpression( .... );
cond.Font.Color = 5287936;
cond.Font.Bold = true;

设置颜色工作正常,将 Bold 设置为 true 则不行(分配后 cond.Font.Bold 仍然是 System.DBNull),当我检查在 Excel 中新创建的条件格式我只能看到颜色。

其他人也发生过这种情况吗?请帮忙!

谢谢

I'm adding a new FormatCondition to a cell and trying to set some formatting:

Excel.FormatCondition cond = ExcelUtils.AddConditionExpression( .... );
cond.Font.Color = 5287936;
cond.Font.Bold = true;

Setting the color works fine, setting Bold to true doesn't (cond.Font.Bold is still System.DBNull after the assignment) and when I inspect the newly created conditional formatting in Excel I only see the color.

Has this happened to anyone else ? Please help!

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

羁绊已千年 2024-11-23 10:43:45

尝试使用 Microsoft.Office.Core.MsoTriState.msoTrue 而不是纯布尔值 true。 MS Word 互操作性也有类似的要求。对于单词范围,您必须将粗体值转换为整数:

textRange.Font.Bold = (int) Microsoft.Office.Core.MsoTriState.msoTrue;

Try using Microsoft.Office.Core.MsoTriState.msoTrue instead of the plain Boolean value of true. MS Word interop has similar requirements. In the case of a Word Range, you have to cast the Bold value to an integer:

textRange.Font.Bold = (int) Microsoft.Office.Core.MsoTriState.msoTrue;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文