我现在手头上有个excel数据文件,里面有上万条数据,每条数据中都包含一个时间。比如是:2009-01-01(在excel中如果把这一列改成常规类型就变成了39814),我通过C#读取Excel的方法将每条数据都读到datatable中,其它字段显示都是对的,唯独时间显示的是比如:39814这样的。在excel中显示的是:2009-01-01,但是读到datatable中却成了39814.请问该如何做才能读到2009-01-01到datatable上了?

解决方案 »

  1.   

    datatable.Columns["时间那列名称"].DateTimeMode;
      

  2.   

    读取的时候 字段前面 加 cdate(字段),就可以啦。
      

  3.   

    请问能不能在excel中直接调成时间的文本格式,然后我读到datatable上就直接是个时间文本呢?这样做我最方便一些
      

  4.   

    设置excel单元格格式
    "@" 
    是将单元格设置成文本格式"#"; 
    NumberFormat = "yyyy-MM-d HH:mm:ss";
      

  5.   

    上面的不是很明白。
    我在excel把那个时间字段设置成文本格式后,值就变成了39814,我希望能变成时间文本,就是说把这个字段设置为文本的格式而且文本是以时间的方式显示的。请问该怎么办?
      

  6.   

    我也想学学如何从excel导入数据库~
      

  7.   

    因为日期时间在计算机中表示为双精度,你在Excel设置为文本,那么你取数据时无需修改就可以直接获取日期,但它进行运算时要麻烦得多,需要转换之后才能使用。