【问题标题】:NPOI font of CellStyle doesn't work and sheet has to be repairedCellStyle 的 NPOI 字体不起作用,必须修复工作表
【发布时间】: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 并且它可以工作(字体部分,不确定超链接)...可能是您正在使用的版本中的错误

标签: c# .net-core npoi


【解决方案1】:

这是 NPOI 2.4.1 中的一个错误,它将在下一个版本中修复:

https://github.com/tonyqus/npoi/issues/165

现在只需设置 FontHeight 或 FontHeightInPoints 即可。

【讨论】:

    【解决方案2】:

    更新到最新版本 NPOI.2.5.5 后,我在打开 excel 文件时遇到错误,消息是“我们发现 abcd.xls 中的某些内容存在问题。您希望我们尝试尽量恢复?... Excel 能够通过修复或删除不可读的内容来打开文件 修复记录:来自 /xl/styles.xml 部分的字体”。由于应用程序中不推荐使用的代码,我收到此错误。

    将已弃用的代码更新为最新代码后。它已开始工作,我们打开 excel 文件没有任何错误。

    找到不推荐使用的代码并更新它

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多