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
|
|||
|
}
|
|||
|
}
|