141 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			141 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C#
		
	
	
	
| using BLL;
 | |
| using Model;
 | |
| using System;
 | |
| using System.Collections.Generic;
 | |
| using System.IO;
 | |
| using System.Web.UI;
 | |
| 
 | |
| namespace FineUIPro.Web.Controls
 | |
| {
 | |
|     public partial class DataImportControl : UserControl
 | |
|     {
 | |
|         public delegate void userEvent(object sender, EventArgs arg); //定义事件委托
 | |
| 
 | |
|         public event userEvent Audit_Click; //定义审核事件
 | |
|         public event userEvent Import_Click; //定义导入事件
 | |
|         /// <summary>
 | |
|         /// 模板路径
 | |
|         /// </summary>
 | |
|         public string TemplatePath
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return (string)ViewState["Template"];
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|                 ViewState["Template"] = value;
 | |
|             }
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 上传文件Url
 | |
|         /// </summary>
 | |
|         public string UpLoadAttachUrl
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return (string)ViewState["UpLoadAttachUrl"];
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|                 ViewState["UpLoadAttachUrl"] = value;
 | |
|             }
 | |
|         }
 | |
|         //错误集合
 | |
|         public List<Model.ErrorInfo> ErrorInfoList
 | |
|         {
 | |
|             get
 | |
|             {
 | |
|                 return (List<Model.ErrorInfo>)Session["ErrorInfoList"];
 | |
|             }
 | |
|             set
 | |
|             {
 | |
|                 Session["ErrorInfoList"] = value;
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         protected void Page_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (!IsPostBack)
 | |
|             {
 | |
|                 this.hdCheckResult.Text = string.Empty;
 | |
|                 this.hdFileName.Text = string.Empty;
 | |
|                 if (ErrorInfoList != null)
 | |
|                 {
 | |
|                     ErrorInfoList.Clear();
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
|         //方法用于绑定Grid
 | |
|         public void BindGrid()
 | |
|         {
 | |
|             this.gvErrorInfo.DataSource = ErrorInfoList;
 | |
|             this.gvErrorInfo.DataBind();
 | |
|         }
 | |
|         protected void btnAudit_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if (this.Audit_Click != null)
 | |
|             {
 | |
|                 if (this.fuAttachUrl.HasFile == false)
 | |
|                 {
 | |
|                     String.Format("showControlInfo('{0}');", "请您选择Excel文件"); 
 | |
|                     return;
 | |
|                 }
 | |
|                 string IsXls = Path.GetExtension(this.fuAttachUrl.FileName).ToString().Trim().ToLower();
 | |
|                 if (IsXls != ".xls")
 | |
|                 {
 | |
|                     String.Format("showControlInfo('{0}');", "只可以选择Excel文件!");
 | |
|                     return;
 | |
|                 }
 | |
|                 if (ErrorInfoList != null)
 | |
|                 {
 | |
|                     ErrorInfoList.Clear();
 | |
|                 }
 | |
|                 string rootPath = Server.MapPath("~/");
 | |
|                 string initFullPath = rootPath + Const.ExcelUrl;
 | |
|                 if (!Directory.Exists(initFullPath))
 | |
|                 {
 | |
|                     Directory.CreateDirectory(initFullPath);
 | |
|                 }
 | |
| 
 | |
|                 this.hdFileName.Text = BLL.Funs.GetNewFileName() + IsXls;
 | |
|                 string filePath = initFullPath + this.hdFileName.Text;
 | |
|                 this.fuAttachUrl.PostedFile.SaveAs(filePath);
 | |
|                 this.Audit_Click(this, e);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         protected void btnImport_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             if (this.Import_Click != null)
 | |
|             {
 | |
|                 this.Import_Click(this, e);
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         #region 下载模板
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 下载模板按钮
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         protected void btnDownLoad_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             string rootPath = Server.MapPath("~/");
 | |
|             string uploadfilepath = rootPath + TemplatePath;
 | |
|             string filePath = TemplatePath;
 | |
|             string fileName = Path.GetFileName(filePath);
 | |
|             FileInfo info = new FileInfo(uploadfilepath);
 | |
|             long fileSize = info.Length;
 | |
|             Response.ClearContent();
 | |
|             Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
 | |
|             Response.ContentType = "excel/plain";
 | |
|             Response.ContentEncoding = System.Text.Encoding.UTF8;
 | |
|             Response.AddHeader("Content-Length", fileSize.ToString().Trim());
 | |
|             Response.TransmitFile(uploadfilepath, 0, fileSize);
 | |
|             Response.End();
 | |
|         } 
 | |
|         #endregion
 | |
|     }
 | |
| } |