博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
导入Excel 时间格式验证
阅读量:4880 次
发布时间:2019-06-11

本文共 1292 字,大约阅读时间需要 4 分钟。

今天遇到一个奇怪的问题,环境是这样的:

程序是C#Winform程序,实现的一个功能是导入Excel数据到数据库,其中Excel中的数据列有各种格式。最奇怪的是日期格式列。

在导入EXCEL的时候,EXCEL数据解析函数获取到的数据中日期格式列有时为数字,有时为日期格式如:2013/02/03。 一开始搞得一头雾水,后来发现跟要导入的Excel文件有关。当要导入的Excel文件打开的时候,解析出来的为数字。没有打开的时候就是日期格式。由于导入前要进行日期格式的验证,同时要导入的Excel可能已经打开,也可能没有打开,所以前台验证的逻辑采用,首先进行是否是正整数的验证,如果不是在进行时间转换,如果报错则返回提示格式不对。代码如下:

string pattern = "^\\+?[1-9][0-9]*$";//正整数                        Regex regex = new Regex(pattern);                        //提出日期                        if (!string.IsNullOrEmpty(tcrq) && regex.IsMatch(tcrq))                        {                            tcrq = DateTime.FromOADate(double.Parse(tcrq)).ToString("yyyy-MM-dd");                        }                        else if (!string.IsNullOrEmpty(tcrq) )                        {                            try                            {                                tcrq = DateTime.Parse(tcrq).ToString("yyyy-MM-dd");                            }                            catch                            {                                MessageProcess.ShowWarning("你好,Excel第" + i + "行数据中的“提出日期”格式不对请输入形如:“2013/01/01”的形式,请修改后再重新导入");                                return;                            }                        }

 

目前暂时没发现其他问题。如有其他情况望高手指教。

转载于:https://www.cnblogs.com/YueWang/p/3217644.html

你可能感兴趣的文章
(SQL Analyzer services)定义链接维度
查看>>
squid
查看>>
系统开发管理、架构与设计步步谈随笔索引
查看>>
Java的时间空间复杂度详解
查看>>
有效防止SQL注入漏洞
查看>>
Linux chown命令
查看>>
十、I/O流——4-输入、输出流体系
查看>>
十二、网络编程——4-基于UDP协议的网络编程
查看>>
异常处理与调试6 - 零基础入门学习Delphi55(完)
查看>>
if语句三种形式
查看>>
正则表达式之字符串验证
查看>>
codeblocks如何支持_tmain?可移植代码的编码推荐
查看>>
省市联动 填坑
查看>>
canvas写的一个小时钟demo
查看>>
原来今天是冬至
查看>>
又混了一天班
查看>>
九度oj 1006
查看>>
HDU6400-2018ACM暑假多校联合训练1004-Parentheses Matrix-构造
查看>>
最短路问题专题
查看>>
《Redis复制与可扩展集群搭建》看后感
查看>>