asp.net上传execl文件后,在页面上加载显示。

来源:互联网 发布:淘宝退货订单号填错 编辑:程序博客网 时间:2024/05/16 11:36
    #region 上传Execl文件    protected void Button1_Click(object sender, EventArgs e)    {        if (FileUpload1.HasFile)        {            string NewFileName = string.Empty;            string ErrorMess = UpLoadFile(FileUpload1, ".xls|.xlsx", 1024 * 5, Server.MapPath("/Report/SocialApply/"), 1, out NewFileName);            if (string.IsNullOrEmpty(ErrorMess))            {                Label1.Text = "√文件上传成功";                ViewState["UpLoadFile"] = "/Report/SocialApply/" + NewFileName;                try                {                    FileStream file = new FileStream                        (Server.MapPath(ViewState["UpLoadFile"] as string),                        FileMode.Open, FileAccess.Read,                        FileShare.ReadWrite);                    DataTable dt1 = FairHR.Util.XmlExcelReport.ReadExcelToDataTable(file, 0, 0);                    ViewState.Add("ViewDT", dt1);                    GridView1.DataSource = ViewState["ViewDT"] as DataTable;                    GridView1.DataBind();                    file.Close();                    //Maticsoft.Common.MessageBox.ResponseScript(Page, "$.messager.alert('系统提示', '操作成功!', 'info');");                }                catch                {                    Maticsoft.Common.MessageBox.ResponseScript(Page, "$.messager.alert('系统提示', '请重新上传Execl文件再操作', 'warning');");                }            }            else            {                Label1.Text = "×文件上传失败";            }        }        else        {            Label1.Text = "×请先选择上传文件";        }        ScriptManager.RegisterClientScriptBlock(Page, this.GetType(), "idAlert1", "closeLoad();", true);    }    #endregion    #region 上传文件    /// <summary>    /// 上传文件    /// </summary>    /// <param name="fu">上传文件</param>    /// <param name="type">上传文件类型,例如.jpg|.gif|.bmp</param>    /// <param name="size">限制上传文件大小,单位为k</param>    /// <param name="path">上传路径,需使用server.mappath</param>    /// <param name="nametype">1为自动命名,0用原名</param>    /// <returns></returns>    public static string UpLoadFile(FileUpload fu, string type, int size, string path, int nametype, out string newFileName)    {        newFileName = null;        string erorr = null;        int Size = fu.PostedFile.ContentLength / 1024;        if (Size > size)        {            erorr = "上传文件太大!";            return erorr;        }        string Type = fu.FileName;        if (Type.IndexOf(".") == -1) { erorr = "上传文件类型有误!"; return erorr; }        Type = Type.Substring(Type.LastIndexOf(".")).ToUpper();        type = type.ToUpper();        if (type.IndexOf(Type) == -1) { erorr = "上传文件类型有误!"; return erorr; }        string filename = "";        if (nametype == 1)        {            string nowdate = DateTime.Now.ToString();            nowdate = nowdate.Replace(":", "").Replace(" ", "").Replace("-", "").Trim();            Random r = new Random();            int a = r.Next(1000);            filename = nowdate + a.ToString() + Type;            newFileName = filename;        }        else        {            filename = fu.FileName;            if (System.IO.File.Exists(path + filename)) { erorr = "此文件名已经存在!"; return erorr; }        }        fu.SaveAs(path + filename);        return erorr;//返回有错的错误信息,没有错误返回null    }    #endregion

原创粉丝点击