使用NPOI读取Excel文件时出现InvalidOperationException

时间:2016-02-04 21:12:55

标签: c# .net npoi

我有一段简单的代码

public JsonResult ParseExcel(HttpPostedFileBase file)
{
    var uploadedFileContent = file.InputStream;
    if (POIXMLDocument.HasOOXMLHeader(uploadedFileContent))
    {
        //xlsx
        var workbook = new XSSFWorkbook(uploadedFileContent);
        var sheet = workbook.GetSheetAt(0);
    }
return new JsonResult{};
}

然后我尝试使用NPOI和上传的Excel文件创建工作簿,我收到错误:异常详细信息: 消息:单元格G33的超链接引用关系rId5,但不存在!

我发现这是因为G33单元格有一个超链接,如下所示: xxx@yyy.com'。它最后有一个单引号。如果我删除单引号,一切都按预期工作。有没有其他方法可以解决这个问题,而不是编辑Excel文件并删除单引号?

我尝试使用 WorkbookFactory.Create 并将第二个参数指定为 ImportOption.TextOnly 。我首先尝试创建 OPCPackage 对象,然后将其作为参数传递。但是,我得到了同样的信息。

1 个答案:

答案 0 :(得分:0)

作为传递给XSSFWorkbook构造函数的文件,破坏了整个事情,我没有找到任何其他解决方案然后切换到不同的库。