• C#读取Excel数据


    下面是将读取Excel中数据的方法,其中一些注意事项如下:

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

    1.连接字符串中参数IMEX 的值:
    0 is Export mode 1 is Import mode 2 is Linked mode (full update capabilities)
    IMEX有3个值:当IMEX=2 时,EXCEL文档中同时含有字符型和数字型时,比如第C列有3个值,2个为数值型 123,1个为字符型 ABC,当导入时,
    页面不报错了,但库里只显示数值型的123,而字符型的ABC则呈现为空值。当IMEX=1时,无上述情况发生,库里可正确呈现 123 和 ABC.
    2.参数HDR的值:
    HDR=Yes,这代表第一行是标题,不做为数据使用 ,如果用HDR=NO,则表示第一行不是标题,做为数据来使用。系统默认的是YES
    3.参数Excel 8.0
    对于Excel 97以上版本都用Excel 8.0
     

     1       /// <summary>
     2        /// 读取Excel文件,将内容存储在DataSet中
     3        /// </summary>
     4        /// <param name="opnFileName">带路径的Excel文件名</param>
     5        /// <returns>DataSet</returns>

     6        private DataSet ExcelToDataSet(string opnFileName)
     7        {
     8            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+opnFileName+";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
     9            OleDbConnection conn = new OleDbConnection(strConn);            
    10            string strExcel = "";
    11            OleDbDataAdapter myCommand = null;
    12            DataSet ds = new DataSet();
    13            strExcel = "select * from [sheet1$]";
    14            try
    15            {
    16                conn.Open();
    17                myCommand = new OleDbDataAdapter(strExcel, strConn);
    18                myCommand.Fill(ds,"dtSource");
    19                return ds;
    20            }

    21            catch (Exception ex)
    22            {
    23                MessageBox.Show("导入出错:" + ex, "错误信息");
    24                return ds;
    25            }

    26            finally
    27            {
    28                conn.Close();
    29                conn.Dispose();
    30            }

    31        }

    32
  • 相关阅读:
    结队完成-连续最大子数组和
    一、数据库的基础简介
    十六、Shell之expect自动化交互程
    十五、Shell之数组
    十四、循环控制
    十三、Shell之select语句
    Linux系统产生随机数的6种方法
    十二、Shell之for循环
    十一、Shell之while&&until循环
    Shell补充之后台执行脚本程序
  • 原文地址:https://www.cnblogs.com/winnxm/p/918734.html
Copyright © 2020-2023  润新知