现在网络上操作Excel的方法一是用com,二就是用ole的啦。
看了孟子的博客对导出Excel表格防止大数字变成科学计数法,就是在写之前加一个'。这样导出的Excel内容左上角就变成了绿色。
现在我用ole读取Excel数据,对字符串的更改就会读取不同的内容来
第一就是这种Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";Extended Properties='Excel 8.0;
这种默认就把头行变成列名。
但是这个读法有个缺陷就是某列的数据如果某行的单元格左上角有个绿色,而其他不是的话,读出来的有绿色的那个单元格就是为空,什么都没有。
下面这个后面加个Provider=Microsoft.Jet.OLEDB.4.0;Data Source;Extended Properties='Excel 8.0;HDR=No;IMEX=1;
这样就可以把所有的数据都读出来了,但是左上角没绿色单元格数字正常显示,但是没有绿色的那列单元格的数据全部就变成科学计数法了。
现在没有哪种方法能两者兼顾的啊,或者还有其他的什么好的读取的方法,也可以做到这一点的,敬请高手的解答。

解决方案 »

  1.   

    但是没有绿色的那列单元格的数据全部就变成科学计数法了。?你读出来显示可以进行数字格式化的。http://msdn2.microsoft.com/zh-cn/library/26etazsy.aspx
      

  2.   

    就是这个意思
    比如Excel文件的数据如下
    姓名  手机         性别
    张三  11111111111  男
    李四  11111111111  女
    王五  11111111111  男
    比如说手机这列
    张三那行的手机列的单元格左上角为绿色(应该好像就是文本类型的吧)
    其他的手机列单元格左上角没有为绿色
    这是读取出来的数据张三的手机号就正常为11111111111
    其他的手机列的数据就为科学计数法了。
      

  3.   

    就是这个意思
    比如Excel文件的数据如下
    姓名  手机         性别
    张三  11111111111  男
    李四  11111111111  女
    王五  11111111111  男
    比如说手机这列
    张三那行的手机列的单元格左上角为绿色(应该好像就是文本类型的吧)
    其他的手机列单元格左上角没有为绿色
    这是读取出来的数据张三的手机号就正常为11111111111
    其他的手机列的数据就为科学计数法了。
      

  4.   

    我一般不加什么'号,在那列后加 ,因为是web流导出,所以是看不见的