C# 将Excel中的数据到DataSet中

/// <summary>
        /// 读取excel
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns></returns>
        public static DataSet getExcelData(string filePath, ref string error)
        {
            try
            {
                string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0'";

                //EXCEL表名验证
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                DataTable sheetNames = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
                conn.Close();
                List<string> list1 = new List<string>();
                foreach (DataRow dr in sheetNames.Rows)
                {
                    list1.Add((String)dr["TABLE_NAME"]);
                }

                //excel数据读取
                DataSet ds = new DataSet();
                OleDbDataAdapter oada = new OleDbDataAdapter("select * from [Excel中表名字$]", strConn);
                oada.Fill(ds);

                //数据验证
                string mess = string.Empty;
                if (checkExcel(ds.Tables[0], ref mess))
                {
                    return ds;
                }
                else
                {
                    error = mess;
                    return null;
                }
            }
            catch (Exception ex)
            {
                error = "读取Excel错误:" + ex.Message;
                return null;
            }
        }

转载于:https://www.cnblogs.com/dyfzwj/archive/2011/09/20/2182761.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值