.net开发,前台使用layui框架,后台使用WCF
废话不多,直接上代码
1>文件引用:
admin.css layui.css layui.js jquery.min.js layerTool.js
2>前台:
<script type="text/html" id="toptoolbar"> <button class="layui-btn layui-btn-sm" lay-event="ExportExcel">批量导出</button> </script>
----------先来个批量导出的按钮 (ExportExcel)自定义
layui.use(['table', 'form', 'util'], function () { var form = layui.form, layer = layui.layer; var table = layui.table; var field = null; var util = layui.util; table.on('toolbar(ListSupplierTable)', function (obj) { switch (obj.event) { case 'ExportExcel'://批量导出 ShowExportExcelWin(); break; }; }); });
----------('table', 'form', 'util')看需求增减
----------(var form = layui.form, layer = layui.layer; var table = layui.table; var field = null; var util = layui.util;) 看需求增减
----------ShowExportExcelWin //方法名
//打开批量导出弹窗 var exportOpen; function ShowExportExcelWin() { var $ = layui.jquery; var html = '<div class="layui-form">'; html += ' <div class="layui-form-item">'; html += ' <div class="layui-input-inline" style="padding-left:55px;padding-top:20px;">'; html += ' <input type="radio" name="rdowhere" value="1" title="全部导出" checked><br />'; html += ' <input type="radio" name="rdowhere" value="2" title="按筛选条件导出" >'; html += ' </div>'; html += ' </div>'; html += '</div>'; exportOpen = layer.open({ type: 1, title: '批量导出', area: ['300px', '210px'],//宽高 btn: ['导出'], yes: function () { var FullName = $('#FullName').val();//供应商全称(筛选条件) var SupplierType = $('#SupplierType').val();//供应商类型(筛选条件) var SupplierLevel = $('#SupplierLevel').val();//供应商级别(筛选条件) var LabMallSupplierIsEnable = $('#LabMallSupplierIsEnable').val();//是否启用(筛选条件) var GoodsHomeShow = $('#GoodsHomeShow').val();//是否显示Log(筛选条件) var ExportType = $("input[name='rdowhere']:checked").val();//导出类型(1:全部;2:筛选) layer.load(2, { shade: [0.1, '#000'] });//上传loading $.post("ExportExcelToSupplier", { FullName: FullName, SupplierType: SupplierType, SupplierLevel: SupplierLevel, LabMallSupplierIsEnable: LabMallSupplierIsEnable, GoodsHomeShow: GoodsHomeShow, ExportType: ExportType }, function (res) { layer.closeAll('loading');//关闭loading if (res.success) { layer.close(exportOpen); layer.msg("导出成功"); location.href = res.payload; } else { layer.alert(res.error.message, { title: '导出失败' }); } }, "json"); }, content: html }); layui.form.render(); }
----------导出功能分为全部导出和按照筛选条件导出
----------ExportExcelToSupplier //接口名
3>接口:
#region 批量导出供应商 /// <summary> /// 批量导出供应商 /// </summary> /// <returns></returns> public JsonResult ExportExcelToSupplier() { LabMallSupplierEntity supplier = new LabMallSupplierEntity(); supplier.LabMallSupplierIsEnable = -1; supplier.LabMallSupplierIsDelete = -1; int ExportType = GetRequestInt("ExportType"); if (ExportType == 2) { supplier.FullName = GetRequestString("FullName"); supplier.SupplierType = GetRequestInt("SupplierType"); supplier.SupplierLevel = GetRequestInt("SupplierLevel"); supplier.LabMallSupplierIsEnable = GetRequestInt("LabMallSupplierIsEnable"); supplier.GoodsHomeShow = GetRequestInt("GoodsHomeShow"); } LabMallSupplierResponse response = Supplier.GetSupplierObj().ExportExcelToSupplier(new LabMallSupplierRequest { LabMallSupplierDto = supplier }); if (response.Code == 1) { return Success(response.ResposeData.ToString()); } else { return Fail(response.ResposeData.ToString()); } } #endregion
#region 批量导出供应商(运营) public LabMallSupplierResponse ExportExcelToSupplier(LabMallSupplierRequest request) { SupplierServiceClient obj = new SupplierServiceClient(); try { LabMallSupplierResponse response = obj.GetLabMallSupplierList(request);//调用服务端 数据集合 string FileFolder = AppDomain.CurrentDomain.BaseDirectory + "files\\Export\\Excel\\"; string FileName = FileFolder + "供应商管理.xls";//文件存放的路径 string ReturnUrl = "/files/Export/Excel/" + "供应商管理.xls";//需要返回的文件路径 if (!Directory.Exists(FileFolder))//指定路径没有该文件时创建 { Directory.CreateDirectory(FileFolder); } if (File.Exists(FileName))//指定文件存在时删除 { File.Delete(FileName); } MemoryStream ms = new MemoryStream();//创建一个流 IWorkbook workbook = new HSSFWorkbook();//创建workbook ISheet sheet = workbook.CreateSheet("供应商");//创建sheet IRow row = sheet.CreateRow(0);//创建row ICellStyle style = workbook.CreateCellStyle();//创建单元格样式 IFont font = workbook.CreateFont();//创建字体 font.Boldweight = short.MaxValue;//字体宽度 style.SetFont(font);//添加到样式 //表头 string[] colName = { "ID", "简称", "全称", "供应商类型", "供应商级别", "开户银行", "收款账号", "网址", "地址", "座机", "是否启用", "商城显示", "纳税人识别号", "类型", "法定代表人", "注册资本", "成立日期", "经营期限", "经营范围" }; for (int i = 0; i < colName.Length; i++) { row.CreateCell(i).SetCellValue(colName[i]);//创建列 row.Cells[i].CellStyle = style;//字体加粗 } List<LabMallSupplierEntity> list = response.LabMallSupplierDtos; if (list.Count==0) { return new LabMallSupplierResponse { Code = 2, ResposeData = "没有数据" }; } for (int i = 0; i < list.Count; i++) { LabMallSupplierEntity supplier = list[i]; IRow rows = sheet.CreateRow(i + 1); rows.CreateCell(0).SetCellValue(supplier.LabMallSupplierID); rows.CreateCell(1).SetCellValue(supplier.Name == null ? "" : supplier.Name.Trim()); rows.CreateCell(2).SetCellValue(supplier.FullName == null ? "" : supplier.FullName.Trim()); rows.CreateCell(3).SetCellValue(supplier.SupplierType == 1 ? "直销" : "经销"); rows.CreateCell(4).SetCellValue(supplier.SupplierLevel == 1 ? "合约供应商" : "普通供应商"); rows.CreateCell(5).SetCellValue(supplier.BankName == null ? "" : supplier.BankName.Trim()); rows.CreateCell(6).SetCellValue(supplier.BankCardNumber == null ? "" : supplier.BankCardNumber.Trim()); rows.CreateCell(7).SetCellValue(supplier.WebSite == null ? "" : supplier.WebSite.Trim()); rows.CreateCell(8).SetCellValue(supplier.Address == null ? "" : supplier.Address.Trim()); rows.CreateCell(9).SetCellValue(supplier.Phone == null ? "" : supplier.Phone.Trim()); rows.CreateCell(10).SetCellValue(supplier.LabMallSupplierIsEnable == 0 ? "禁用" : "启用"); rows.CreateCell(11).SetCellValue(supplier.GoodsHomeShow == 1 ? "显示" : "隐藏"); rows.CreateCell(12).SetCellValue(supplier.IdentityNum == null ? "" : supplier.IdentityNum.Trim()); rows.CreateCell(13).SetCellValue(supplier.Type == null ? "" : supplier.Type.Trim()); rows.CreateCell(14).SetCellValue(supplier.Representative == null ? "" : supplier.Representative.Trim()); rows.CreateCell(15).SetCellValue(supplier.RegisterCapital == null ? "" : supplier.RegisterCapital.Trim()); rows.CreateCell(16).SetCellValue(supplier.BirthDate.GetString() == null ? "" : supplier.BirthDate.GetString()); rows.CreateCell(17).SetCellValue(supplier.EndDate.GetString() == null ? "" : supplier.EndDate.GetString()); rows.CreateCell(18).SetCellValue(supplier.RunScope == null ? "" : supplier.RunScope.Trim()); } workbook.Write(ms); ms.Flush(); ms.Position = 0; using (FileStream fs=new FileStream(FileName,FileMode.Create,FileAccess.Write)) { byte[] data = ms.ToArray(); fs.Write(data, 0, data.Length); fs.Flush(); data = null; } response.Code = 1; response.ResposeData = ReturnUrl; return response; } catch (Exception ex) { LogHelp.Error(ex, request.LabMallSupplierDto); return new LabMallSupplierResponse { Code = 3, ResposeData = ex.Message }; } finally { obj.Close(); } } #endregion