asp.net上传execl文件后,在页面上加载显示
2014-08-28来源:

本篇文章主要是对asp.net上传execl文件后,在页面上加载显示(示例代码)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助

代码如下:

#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

更多信息请查看IT技术专栏

推荐信息
Baidu
map