2016-02-04 102 views
1

我有一段簡單的代碼出現InvalidOperationException在閱讀Excel文件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單元有超鏈接,如下所示:[email protected]'。它最後有一個單引號。如果我刪除單引號,一切都按預期工作。有沒有其他的方法來解決這個問題,而不是編輯Excel文件並刪除單引號?

我嘗試使用WorkbookFactory.Create並指定第二PARAM如ImportOption.TextOnly。我嘗試創建OPCPackage對象,然後將它作爲參數傳遞。但是,我收到了同樣的信息。

回答

0

作爲傳遞文件到XSSFWorkbook構造函數,破壞整個事情,我沒有找到任何其他解決方案,然後切換到不同的庫。