62,064
社区成员
发帖
与我相关
我的任务
分享
//控制器
/// <summary> /// 导入Excel方法 /// </summary> /// <param name="fileSite"></param> /// <returns></returns> [HttpPost] public ActionResult ImportSiteInfo(string fileSite) { if (string.IsNullOrEmpty(fileSite)) return View(); ImportExcel importEx = new ImportExcel(); //获取Excel中的数据 DataTable dtSite = importEx.ExcelDataSource(fileSite, "Sheet1").Tables[0]; //添加到数据库 foreach (DataRow item in dtSite.Rows) { Site s = new Site() { Name = item["Name"].ToString().Trim(), LocalID = int.Parse(item["LocalID"].ToString().Trim()) }; //判断当前站点是否存在 if (!string.IsNullOrEmpty(SiteManageBusiness.GetSiteNameByName(s.Name))) continue; SiteManageBusiness.AddSiteInfo(s); } /*在跳转页面时传递一个标志位*/ return RedirectToAction("SiteInfoList", "SiteManage", new { import = 1 }); } /// <summary> /// 站点信息一览 /// </summary> /// <param name="page">当前索引</param> /// <param name="pageSize">当前页面显示条数</param> /// <returns></returns> public ActionResult SiteInfoList(int page = 1, int pageSize = 15) { //判断是否为初始化页面 if (Request.QueryString["flagSite"] != null) { Session["site"] = null; } /*接一下数值*/ if (Request.QueryString["import"] != null) { ViewBag.flag = 1; } SiteModel siteInfo = new SiteModel() { //区域ID值(默认值) LocalID = -1 }; //查询条件不为空 if (Session["site"] != null) { siteInfo = Session["site"] as SiteModel; //区域名称 ViewBag.LocalName = siteInfo.LocalName; //站点名称 ViewBag.SiteName = siteInfo.Name; } PagerIndexModel model = new PagerIndexModel { CurrentPageIndex = page, PageSize = pageSize, //确定记录总数(才能计算出PageCount页数) TotalRecordCount = SiteManageBusiness.GetSiteInfoByEntity(siteInfo).ToList<Site>().Count, }; // 获取当前页的信息 model.SiteInfomationList = SiteManageBusiness.GetSiteInfoByEntity(siteInfo).OrderBy(p => p.ID).Skip((model.CurrentPageIndex - 1) * model.PageSize).Take(model.PageSize); return View(model); }
//导入Excel方法
/// <summary>
/// 获取Excel数据方法
/// </summary>
/// <param name="filepath">文件路径</param>
/// <param name="sheetname">sheet名称</param>
/// <returns></returns>
public DataSet ExcelDataSource(string filepath, string sheetname)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "$]", strConn);
DataSet ds = new DataSet();
oada.Fill(ds);
return ds;
}
public class ExcelExportHandler
{
public static void ExportFile(string content, string contentType, string charSet, string encodingName, string outPutFileName)
{
byte[] htmlBy = System.Text.Encoding.GetEncoding("GB2312").GetBytes(content);
MemoryStream stream = new MemoryStream(htmlBy);
ExportFile(stream, contentType, charSet, encodingName, outPutFileName);
}
public static void ExportFile(MemoryStream stream, string contentType, string charSet, string encodingName, string outPutFileName)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ContentType = contentType;
HttpContext.Current.Response.Charset = charSet;
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding(encodingName);
String userAgent;
userAgent = HttpContext.Current.Request.UserAgent;
if (userAgent != null && userAgent.ToUpper().IndexOf("MSIE") > -1)
{
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(outPutFileName, System.Text.Encoding.UTF8).Replace("+", "%20"));
// The browser is Microsoft Internet Explorer Version 6.0.
}
else if (userAgent != null && userAgent.ToUpper().IndexOf("MOZILLA") > -1)
{
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlDecode(outPutFileName, System.Text.Encoding.UTF8).Replace("+", "%20"));
}
HttpContext.Current.Response.HeaderEncoding = System.Text.Encoding.GetEncoding(encodingName);
stream.WriteTo(HttpContext.Current.Response.OutputStream);
//HttpContext.Current.Response.End();
}
}
public ActionResult ExportQualifiedExaminees(int serviceid, int funcid, string condition)
{
RegistrationBLL bll = new RegistrationBLL();
IList<QualifiedExamineeEn> list = bll.GetQualifiedExaminees(serviceid, condition);
if (list == null || list.Count == 0)
{
return Alert("没有准考证信息", "~/Views/ExamService/SaveSuccess.aspx", new { controller = "Registration", action = "GetExamineeByPage", serviceid = serviceid, funcid = funcid });
}
using (MemoryStream m = bll.ExportQualifiedExaminees(Server.MapPath("~/Resources/考生签到表导出模版.xls"), list1[0].fServiceName, list, Server.MapPath("~/Common/Images/toeic_log.PNG")))
{
ExcelExportHandler.ExportFile(m, "application/ms-excel", "UTF-8", "GB2312", "考生签到表.xls");
}
return new EmptyResult();
}
public ActionResult ExportQualifiedExaminee(int serviceid, int funcid, string condition)
{
RegistrationBLL bll = new RegistrationBLL();
IList<QualifiedExamineeEn> list = bll.GetQualifiedExaminees(serviceid, condition);
StringBuilder sb = new StringBuilder();
sb.Append("序号,姓,名,性别,出生日期,登录名,工号,部门,准考证号,证件类型,证件号码,学历,专业,考场地址,手机,Email,企业名称,国籍\r\n");
if (list != null && list.Count > 0)
{
int i = 0;
foreach (var item in list)
{
i++;
sb.Append(i.ToString());
sb.Append(",\t" + item.FirstName.Replace(",", ","));
sb.Append(",\t" + item.LastName.Replace(",", ","));
if (item.IDNumber != null && item.IDNumber.Trim().Length > 0)
{
sb.Append("," + (item.Gender == true ? "男" : "女"));
sb.Append(",\t" + item.Birthday);
}
else
{
sb.Append("," + "");
sb.Append("," + "");
}
sb.Append(",\t" + item.LogonName.Replace(",", ","));
sb.Append(",\t" + item.EmployeeNum.Replace(",", ","));
sb.Append(",\t" + item.Department.Replace(",", ","));
sb.Append(",\t" + item.AdmissionFormId.Replace(",", ",")); //增加\t表示导出csv时,为文本数据
sb.Append(",\t" + item.IDTypeName);
sb.Append(",\t" + item.IDNumber.Replace(",", ","));
sb.Append(",\t" + item.EducationName.Replace(",", ","));
sb.Append(",\t" + item.EducationMajorName.Replace(",", ","));
sb.Append(",\t" + item.LocationAddress.Replace(",", ","));
sb.Append(",\t" + item.Contact.Replace(",", ","));
sb.Append(",\t" + item.Email.Replace(",", ","));
sb.Append(",\t" + item.CompanyName.Replace(",", ","));
sb.Append(",\t" + item.National.Replace(",", ","));
sb.Append("\r\n");
}
}
else
{
return Alert("没有准考证信息", "~/Views/ExamService/SaveSuccess.aspx", new { controller = "Registration", action = "GetExamineeByPage", serviceid = serviceid, funcid = funcid });
}
ExcelExportHandler.ExportFile(sb.ToString(), "application/ms-excel", "UTF-8", "GB2312", "合格考生.csv");
return new EmptyResult();
}