【发布时间】:2019-06-11 10:09:32
【问题描述】:
我正在尝试在 Excel 中设置链接样式,但由于某种原因,我无法让 CellStyle Font 工作
.NET Core 2.1
NPOI:2.1.4
错误:
Excel 完成了文件级验证和修复。本工作簿的某些部分可能已被修复或拒绝。 修复的记录:来自部件 /xl/styles.xml(样式)的字体
这很好用:
var myStyle = workbook.CreateCellStyle();
myStyle.BorderBottom = BorderStyle.Double;
cell.Hyperlink = new XSSFHyperlink(HyperlinkType.Url) { Address = url };
cell.CellStyle = myStyle;
这不是:
var myStyle = workbook.CreateCellStyle();
var myFont = workbook.CreateFont();
myStyle.BorderBottom = BorderStyle.Double;
myStyle.SetFont(myFont);
cell.Hyperlink = new XSSFHyperlink(HyperlinkType.Url) { Address = url };
cell.CellStyle = myStyle;
这不是2:
var myStyle = workbook.CreateCellStyle();
var myFont = workbook.CreateFont();
myStyle.BorderBottom = BorderStyle.Double;
myFont.Color = IndexedColors.Blue.Index;
myStyle.SetFont(myFont);
cell.Hyperlink = new XSSFHyperlink(HyperlinkType.Url) { Address = url };
cell.CellStyle = myStyle;
我尝试使用设置myFont.Color
IndexedColors.Blue.Index;
HSSFColor.Blue.Index;
HSSFColor.Blue.Index2;
新的 XSSFColor(Color.Blue).Indexed;
每次结果都是一样的 - Excel 正在修复工作表。
有什么想法吗?
编辑
如果您删除超链接的代码,字体是否有效?只是想看看超链接和字体的组合是否不起作用...
var myStyle = workbook.CreateCellStyle();
var myFont = workbook.CreateFont();
myStyle.BorderBottom = BorderStyle.Double;
myStyle.SetFont(myFont);
//cell.Hyperlink = new XSSFHyperlink(HyperlinkType.Url) { Address = url };
cell.CellStyle = myStyle;
结果还是一样
Excel 完成了文件级验证和修复。本工作簿的某些部分可能已被修复或拒绝。 修复的记录:来自部件/xl/styles.xml(样式)的字体
【问题讨论】:
-
从基本的开始,不要改变字体或样式,只设置超链接,慢慢找出问题所在
-
如果您删除超链接的代码,字体是否有效?只是想看看超链接和字体的组合是否不起作用......
-
@KrishnaChaithanyaMuthyala 回复帖子。
-
我正在使用带有 ASP.NET MVC 的 npoi 2.0.1 并且它可以工作(字体部分,不确定超链接)...可能是您正在使用的版本中的错误