最後追蹤到了是以 EPPlus讀取來源檔案 xlsx時,取 head row的範圍有錯
先看看兩個檔案的內容
測試用:
客戶用:
經由這段程式碼取 header row的內容:
// sheet.Cells[1,1,1,5]
foreach (var cell in sheet.Cells[sheet.Dimension.Start.Row, sheet.Dimension.Start.Column, sheet.Dimension.End.Row, sheet.Dimension.Start.Column])
{
result.Add(GetAttributeModel(cell));
}
但是測試用檔案在 foreach執行取得的第一個 cell總是 "B1",客戶用檔案的 cell卻是 "A1"
到底是 EPPlus有問題還是檔案有問題 ...
因為追蹤原始碼工程浩大,決定先從檔案著手,解壓縮來比對看看
馬上抓到疑點!!
檔案位置:\{檔名}\xl\worksheets\sheet1.xml
很明顯在第 18行有鬼,左側是測試用檔案,因為沒有框線,在 xml內乾脆直接不存在了
好樣的 ...
因為我們自己測試用檔案都是 key完值就拿去上傳了,框線什麼的才沒空加呢,以至於之前完全沒碰到此種情境,也不知道程式其實是有 bug的,只是運氣不好才沒碰到
沒有留言:
張貼留言