• C# NPOI 日期格式


    之前整理的NPOI导入导出Excel 在之前使用过程中没发现问题。

    但是后来发现导入的文档如果有日期时间格式,导入时会有混乱

    后来找了一下解决方案,最终将其中一段修改即可导入日期(导出未测试)

    原因

    大概是NPOI导入时会大概判断一下Excel文档里面的单元格是什么格式的内容,

    有Blank,Boolean,Numeric,String,Error,Formula 等几种,

    但是就是没有日期的,日期的单元格会被判断成Numeric(数字)类型,

    所以日期格式的单元格就按数字类型来取其中的值,

    所以单元格被判断成数字的之后还要再判断一下是否为日期格式。

            /// <summary>
            /// 获取单元格类型
            /// </summary>
            /// <param name="cell"></param>
            /// <returns></returns>
            private static object GetValueType(ICell cell)
            {
                if (cell == null)
                    return null;
                switch (cell.CellType)
                {
                    case CellType.Blank: //BLANK:  
                        return null;
                    case CellType.Boolean: //BOOLEAN:  
                        return cell.BooleanCellValue;
                    case CellType.Numeric: //NUMERIC:  
                        short format = cell.CellStyle.DataFormat;
                        if (format != 0) { return cell.DateCellValue; } else { return cell.NumericCellValue; }
                    case CellType.String: //STRING:  
                        return cell.StringCellValue;
                    case CellType.Error: //ERROR:  
                        return cell.ErrorCellValue;
                    case CellType.Formula: //FORMULA:  
                    default:
                        return "=" + cell.CellFormula;
                }
            }

    注意

     使用时Excel里的长数字类型,否则这类数据可能会被误判为日期类型

    如:0000123,2017001等这类型的需要处理一下单元格格式->设置成"常规"类型

    转载请注明出处,by lazyneal 2017

  • 相关阅读:
    python 语言 yaml文件嵌套另一个yaml
    APP混合原生和H5页面中,appium 与X5内核那些事
    mac appium python 自动化环境搭建遇到的问题
    Appium+Python自动化测试学习笔记
    Appium遇到异常处理
    Android 电池分析工具
    lsof命令使用
    Django入门(一)基础环境搭建
    gunicorn部署Flask服务
    自动化测试-数据驱动实践(126发邮件)
  • 原文地址:https://www.cnblogs.com/lazyneal/p/6795941.html
Copyright © 2020-2023  润新知