尝试查找应用于文本的字体时,NPOI API调用中的空引用

我有这个例子:

IRichTextString richText = cell.RichStringCellValue; for (int index = 0; index < richText.String.Length; index++) { short fontId = richText.GetFontAtIndex(index); ... } 

当第一次调用GetFontAtIndex(index = 0)时,我得到的对象引用没有设置为对象的一个​​实例

NPOI.XSSF.UserModel.XSSFRichTextString.ToCTFont(CT_RPrElt pr)at NPOI.XSSF.UserModel.XSSFRichTextString.GetFontOfFormattingRun(Int32 index)

该文件具有xlsx扩展。 对于xls这个代码工作正常。

也试过这个,没有运气:

 for (int i = 0; i < richText.NumFormattingRuns; i++) { int startIdx = richText.GetIndexOfFormattingRun(i); int length = richText.GetLengthOfFormattingRun(i); IFont font = richText.GetFontOfFormattingRun(i); ... } 

问题在哪里? 对于xlsx文件是没有办法获得文字的字体?

编辑:

该文件被读取:

 IWorkbook iw = WorkbookFactory.Create(new FileStream(excelFilePath, FileMode.Open, FileAccess.Read)); ISheet sheet = iw.GetSheet(sheetName); for (int j = rowStart; j <= sheet.LastRowNum; j++) { IRow row = sheet.GetRow(j); if (row != null) { for (int i = row.FirstCellNum; i < row.LastCellNum; i++) { ICell cell = row.GetCell(i); ... 

但是单元对象有很多错误: 在这里输入图像说明

我必须包括一些参考? 目前我已经包括:

 using NPOI.HSSF.Model; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.SS.Util; using NPOI.XSSF.UserModel; using NPOI.XSSF.Model; using NPOI.XSSF.Util;