• 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

     

  • 相关阅读:
    python第三天
    python第二天
    python第一天
    Linux之VIM常用功能
    Linux输入输出管理
    Linux文件操作及管理
    Linux虚拟机基本操作
    JAVA堆,栈的区别,用AarrayList、LinkedList自定义栈
    mysql优化limit
    MySql五大引擎的区别以及优劣之分
  • 原文地址:https://www.cnblogs.com/baozi789654/p/13127339.html
Copyright © 2020-2023  润新知