将指定excel文件中的数据转换成datatable对象,供应用程序进一步处理

本文介绍了一种从Excel文件中读取指定工作表数据并将其转换为DataTable的方法。该方法首先检查是否选择了文件,然后保存文件到服务器,并通过OLE DB连接读取Excel数据。

   public DataTable ExportExcel(string sheetName)
        {
            DataTable rs = new DataTable();

            if (!this.FileUpload1.HasFile)
            {

                this.RunInSide("请选择要导入的文件!");
                return null;
            }
            try
            {
                //获取服务器路径
                string upPath = Request.PhysicalApplicationPath + "BasisManage//ExportExcel//ExcelFolder//" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".xls";
                FileUpload1.PostedFile.SaveAs(upPath);
                OleDbConnection conn = new OleDbConnection("provider=microsoft.jet.oledb.4.0;" +
                "data source=" + upPath + ";" +
                "extended properties=/"excel 8.0;IMEX=1;/"");//很重要的(IMEX=1),缺少会导致部分数据读不出来
                OleDbCommand myoledbcommand = new OleDbCommand("select * from [" + sheetName + "$]", conn);
                OleDbDataAdapter mydata = new OleDbDataAdapter(myoledbcommand);
                mydata.Fill(rs);

            }
            catch (Exception ex)
            {
                this.RunInSide("格式不正确!请重新选择你要载入的文件!");
                return null;
            }
            return rs;
        }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值