最近工作中常常有有數據處理的需求,一個Excel動不動就是上十萬的數據量,在用 EPPlus.Core 導入數據入庫的時候遇到了一個莫名其妙的問題 我TM一個導入Excel,解析數據哪裡來的 dictionary??? 然後開始了艱辛的調試debug之旅,反覆上傳導入都不行,然後自己創建了一個格式相 ...
最近工作中常常有有數據處理的需求,一個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..