ASP.NET操作Excel---上传Excel后解析Excel文件

40 篇文章 0 订阅
         <tr>
             <td width="16%" class="c_tdleft">
                   上传Excel文件:
             </td>  
             <td width="70%" class="c_td">
                 <asp:FileUpload ID="FU_Excel" runat="server" Width="202" />
                 <asp:Button ID="Button2" runat="server" Text="导入Excel数据"   οnclick="Button2_Click" />
                 <asp:Label ID="lblMessage"  runat="server" Text=""></asp:Label>
             </td>
         </tr>

//一个固定的访问Excel方法
 //访问Excel文件
    public static DataSet ExcelToDS(string Path)
    {
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" +                 System.Web.HttpContext.Current.Server.MapPath(Path) + ";" + "Extended Properties=Excel 8.0;";
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();
        string strExcel = "";
        OleDbDataAdapter myCommand = null;
        DataSet ds = null;
        strExcel = "select * from [sheet1$]";
        myCommand = new OleDbDataAdapter(strExcel, strConn);
        ds = new DataSet();
        myCommand.Fill(ds, "table1");
        return ds;
    }


//上传Excel到服务器之后,再解析到服务器显示数据

 protected void Button2_Click(object sender, EventArgs e)
    {
        if (FU_Excel.HasFile)   
        {   
            //判断文件是否小于10Mb   
            if (FU_Excel.PostedFile.ContentLength < 10485760)   
            {   
                try  
                {   
                    //上传文件并指定上传目录的路径   
                    FU_Excel.PostedFile.SaveAs(Server.MapPath("~/admin/TelePhoneExcel/") //在服务器的路径,上传Excel的路径
                        + FU_Excel.FileName);   
                    /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName  
                    * 而是:FileUpLoad1.FileName?  
                    * 前者是获得客户端完整限定(客户端完整路径)名称  
                    * 后者FileUpLoad1.FileName只获得文件名.  
                    */  
  
                    //当然上传语句也可以这样写(貌似废话):   
                    //FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName);   
                    lblMessage.Text = "上传成功!";   
                }   
               catch (Exception ex)   
                {
                    lblMessage.Text = "出现异常,无法上传!";   
                    //lblMessage.Text += ex.Message;   
                }   
  
            }   
            else  
            {
                lblMessage.Text = "上传文件不能大于10MB!";   
            }   
        }   
        else  
        {
            lblMessage.Text = "尚未选择文件!";   
        }

        //解析Excel
        DataSet ds = new DataSet();
        string excelPath = "../TelePhoneExcel/"+FU_Excel.FileName; //获取Excel路径
        ds = buss.ExcelToDS(excelPath); //调用上面那个方法解析Excel
        string telePhone="";
        for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
        {
             telePhone+= ds.Tables[0].Rows[i][0].ToString()+",";//取第i行的第0列的值
        }
        txtProduct_name.Text = telePhone.Substring(0,telePhone.Length-1); //截取逗号
        TextBox2.Text = ds.Tables[0].Rows.Count.ToString(); //手机号码个数
  }

 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值