学习日记7、mvc +easyui datagrid excel上传

1、首先获取datagrid所有行的数据 var rows = $("#List").datagrid("getRows"); 2、进行数据转换转化成JSON格式 var bodyData = JSON.stringify(rows); //替换中文标题 var a = bodyData.replace(/Cst_CustomerCoding/, "客户编码").replace(/CustomerName/, "客户名称") .replace(/IDNumber/, "客户身份证号").replace(/Sex/, "性别").replace(/Birthday/, "生日").replace(/Phone/, "电话") .replace(/EmergencyContact/, "紧急联系人").replace(/EmergencyCall/, "紧急联系人电话").replace(/Address/, "地址") .replace(/PersonnelId/, "经办人").replace(/EnteroneId/, "录入人"); var postData = { data: a }; 我这个地方是把标题改成对应的汉字标题,然后利用Ajax向后台传输数据 $.ajax({ cache: false, url: '@Url.Action("ExportExcel")', type:'post', data: postData, success: function (data) { $.messageBoxWxc("提示", data.message); }, error: function () { alert("网络出错!") } }) 然后利用一些帮助库就轻松地完成easyui datagrid导出Excel /// /// 导出Excel /// /// json数据 /// [HttpPost] public JsonResult ExportExcel() { string json = Request.Params["data"]; try { DataTable dt = ExcelHelper.JsonToDataTable(json); //桌面路径 string pathDestop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); ExcelHelper.GridToExcelByNPOI(dt, pathDestop + "\\" + "客户信息-" + DateTime.Now.ToString("yyyy-MM-dd") + "导出" + ".xls"); LogHandler.WriteServiceLog(UserState.GetUserState().Id, "导出Excel", Suggestion.Success, Suggestion.Export, "Export"); return Json(JsonHandler.CreateMessage(1, Suggestion.ExportSuccess),JsonRequestBehavior.AllowGet); } catch (Exception ex) { ExceptionHander.WriteException(ex); LogHandler.WriteServiceLog(UserState.GetUserState().Id, "导出Excel", Suggestion.Fail, Suggestion.Export, "Export"); return Json(JsonHandler.CreateMessage(0, Suggestion.ExportFail),JsonRequestBehavior.AllowGet); } } GridToExcelByNPOI这个类需要通过GuGet安装NOPI 通过这些类库其实自己写的代码也没有多少,接下来我回去学习自己定制的Excel输出,等我学会,会接着分享的, 这些类库网上应该都有,如果搜不找的,可以留言
posted @ 2018-03-25 23:11  Zero77  阅读(225)  评论(0编辑  收藏  举报