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

         
             
                   上传Excel文件:
               
             
                 
                 
                 
             
         

//一个固定的访问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(); //手机号码个数
  }

 

你可能感兴趣的:(asp.Net,C#)