zoukankan      html  css  js  c++  java
  • C# NPOI读取excel日期格式的问题(2020-08-15 变成 12-5月-2020了)

    1,如excel文件:问题如下

     问题:DeliveryTime = currentRow.GetCell(dicData["需求日期"]).ToString()  读取出来的字符串结果:“15-8月-2020”  ,读取乱了。后期操作这个日期非常不方便

    2,解决办法:

    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();
    }

    3,分析问题:

    导入时间格式问题分析 
    之前整理的NPOI导入导出Excel 在之前使用过程中没发现问题。
    但是后来发现导入的文档如果有日期时间格式,导入时会有混乱
    后来找了一下解决方案,最终将其中一段修改即可导入日期(导出未测试) 
    原因 
    NPOI导入时会大概判断一下Excel文档里面的单元格是什么格式的内容,
    有Blank,Boolean,Numeric,String,Error,Formula 等几种,
    但是就是没有日期的,日期的单元格会被判断成Numeric(数字)类型,
    所以日期格式的单元格就按数字类型来取其中的值,
    所以单元格被判断成数字的之后还要再判断一下是否为日期格式。

    参考(感谢这位大神的总结)

    http://www.luofenming.com/show.aspx?id=ART2017122700001

     

  • 相关阅读:
    gulp之webpack-stream模块
    AMD、CMD与commonJS
    gulp之gulp-replace模块
    gulp之gulp-uglify模块
    gulp之gulp-sequence模块
    规范-命名、词汇
    gulp之gulp-connect模块
    angularjs $injector:nomod
    because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled
    jxls2 java.lang.NegativeArraySizeException
  • 原文地址:https://www.cnblogs.com/baozi789654/p/13127339.html
Copyright © 2011-2022 走看看