zoukankan      html  css  js  c++  java
  • 读取excel数据时,有的单元格内容不能读出

    表现:excel中某列中,有的单元格左上角有绿色箭头标志,有的没有,c#编写读取程序,但是只能读取出带绿色箭头的单元格中的内容,其余不带的读取不到内容

    原因:excel中单元格因为是文本格式而存储了数值,导致后台错误检查,在左上角显示绿色箭头

    解决:string strConn;
    原来读取不完全的写法:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;"+
        "Extended Properties=Excel 8.0;";

    完全读出的写法:strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:/test.xls;"+
        "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";

    具体参数描述如下:

    用OLEDB进行C#读取Excel数据,并返回DataSet数据集。其中有几点需要注意的:

    C#读取Excel数据1.连接字符串中参数IMEX 的值:

    1. 0 is Export mode 1 is Import mode
    2. 2 is Linked mode (fullupdate capabilities)

    IMEX有3个值:当IMEX=2 时,EXCEL文档中同时含有字符型和数字型时,比如第C列有3个值,2个为数值型 123,1个为字符型 ABC,当导入时,页面不报错了,但库里只显示数值型的123,而字符型的ABC则呈现为空值。当IMEX=1时,无上述情况发生,库里可正确呈现 123 和 ABC.

    C#读取Excel数据2.参数HDR的值:

    HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES

    C#读取Excel数据3.参数Excel 8.0

    对于Excel 97以上版本都用Excel 8.0Google AdSense 会在您的网站上提供与内容相关的广告

    1. /**//// 〈 summary〉
    2. /// 读取Excel文件,将内容存储在DataSet中
    3. /// 〈 /summary〉
    4. /// 〈 param name="opnFileName"
    5. 带路径的Excel文件名〈 /param〉
    6. /// 〈 returns〉 DataSet〈 /returns
    7. private DataSet ExcelToDataSet
    8. (string opnFileName)
    9. ...{
    10. string strConn = "Provider=Microsoft.
    11. Jet.OLEDB.4.0;Data Source=
    12. "+opnFileName+";
    13. Extended Properties=
    14. \"Excel 8.0;HDR=YES;IMEX=1\"";
    15. OleDbConnection conn =
    16. new OleDbConnection(strConn);
    17. string strExcel = "";
    18. OleDbDataAdapter myCommand = null;
    19. DataSet ds = new DataSet();
    20. strExcel = "select * from [sheet1$]";
    21. try
    22. ...{
    23. conn.Open();
    24. myCommand = new OleDbDataAdapter
    25. (strExcel, strConn);
    26. myCommand.Fill(ds,"dtSource");
    27. return ds;
    28. }
    29. catch (Exception ex)
    30. ...{
    31. MessageBox.Show("导入出错:"
    32. + ex, "错误信息");
    33. return ds;
    34. }
    35. finally
    36. ...{
    37. conn.Close();
    38. conn.Dispose();
    39. }
    40. }
  • 相关阅读:
    分布式日志收集系统: Facebook Scribe之日志收集方案
    20111030 19:37 杨辉三角形 (java)
    pku acm 1833 排列
    俞敏洪郑大演讲经典语句
    自己在inode客户端的大量问题(不断更新中)(20120223 21:24 )
    智力测验:硬币问题
    windows up可以更新但是无法上网的一天挣扎
    hdu1754 I Hate It
    acm算法资源网站
    pku3041 Asteroids
  • 原文地址:https://www.cnblogs.com/enjoyprogram/p/2633557.html
Copyright © 2011-2022 走看看