如excel文件,
DeliveryTime = currentRow.GetCell(dicData["需求日期"]).ToString() 讀取出來的字符串結果:“15-8月-2020” ,讀取亂了。后期操作這個日期非常不方便
解決辦法:
string strDeliveryTime = null;
if (currentRow.GetCell(dicData["需求日期"]).CellType == CellType.Numeric)
{
strDeliveryTime = Convert.ToDateTime(currentRow.GetCell(dicData["需求日期"]).DateCellValue)
.ToString("yyyy-MM-dd");
}
else
{
strDeliveryTime = currentRow.GetCell(dicData["需求日期"]).ToString();
}
分析問題
導入時間格式問題分析
之前整理的NPOI導入導出Excel 在之前使用過程中沒發現問題。
但是后來發現導入的文檔如果有日期時間格式,導入時會有混亂
后來找了一下解決方案,最終將其中一段修改即可導入日期(導出未測試)
原因
NPOI導入時會大概判斷一下Excel文檔里面的單元格是什么格式的內容,
有Blank,Boolean,Numeric,String,Error,Formula 等幾種,
但是就是沒有日期的,日期的單元格會被判斷成Numeric(數字)類型,
所以日期格式的單元格就按數字類型來取其中的值,
所以單元格被判斷成數字的之后還要再判斷一下是否為日期格式。
參考(感謝這位大神的總結)
http://www.luofenming.com/show.aspx?id=ART2017122700001