EPPlus.Core 處理 Excel 報錯之天坑 WPS


最近工作中常常有有數據處理的需求,一個Excel動不動就是上十萬的數據量,在用 EPPlus.Core 導入數據入庫的時候遇到了一個莫名其妙的問題 The given key 'rId2' was not present in the dictionary.

我TM一個導入Excel,解析數據哪里來的 dictionary???

然后開始了艱辛的調試debug之旅,反復上傳導入都不行,然后自己創建了一個格式相同數據量比較少的Excel文件上傳,成功。

這時候我大概知道是什么問題了,給Excel數據的同事用的是WPS(這輩子都不會用的東東...),由於EPPlus對WPS支持度不怎么友好,所以導致解析數據的時候出錯,將WPS保存的Excel文件用Office Excel打開另存為一個新的文件,再上傳解析,成功。

public async Task<ActionOutput> ProcessExcelData(IFormFile ExcelFile)
{
    using (var package = new ExcelPackage(ExcelFile.OpenReadStream()))
    {
        var sheet = package.Workbook.Worksheets.First();

        ...

        return new ActionOutput();
    }
}

切記:遠離WPS,遠離996..


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM