1 <div class="easyui-linkbutton" iconCls="icon-add" onclick="add()"></div> 2 <table id="dg"></table>
js:
<script> $('#dg').datagrid({ url: '../Check/Check', title: '复选框', rownumbers: true, columns: [[ { field: 'ck', checkbox: true }, { field: 'Code', title: '编号', width: '30%' }, { field: 'Name', title: '名称', width: '30%' }, { field: 'Address', title: '地址', width: '30%' } ]], singleSelect: false, selectOnCheck: true, checkOnSelect: true, onLoadSuccess: function (data) { if (data) { $.each(data.rows, function (index, item) { if (item.checked) { var li = $('dg').datagrid('checkRow', index); } }); } } }); function add() { var te = $('#dg').datagrid('getChecked'); var t = JSON.stringify(te); var $form = $('#export'); if ($form.length == 0) { $form = $('<div id="export" style="display:none;"> <form action="../Check/Excel" method="post"> <input id ="data" name ="data" type="text"> <input type="submit" value="a" /> </form> </div>'); $('body').append($form); } $form.find('#data').val(t); $form.find(':submit').click(); } </script>
导出后台代码,这里代码全部写在了controller里了,
1 public void Excel() 2 { 3 //添加Newtonsoft.JSon引用 4 string rowe = Request["data"]; 5 var list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Excelrghgh>>(rowe); //建立名称(随意)为Excelrghgh的实体类,Code,Naem,Address 6 //JArray ja = (JArray)JsonConvert.DeserializeObject(rowe); 7 //var list = ja.ToObject<List<Excelrghgh>>(); 8 //两种方式将数据反序列化 9 //拼接表头循环数据 10 var table = new StringBuilder(); 11 table.Append("<table border='1'><tr><td>编号</td><td>名称</td><td>地址</td></tr>"); 12 foreach (var item in list) 13 { 14 table.Append("<tr>"); 15 table.Append("<td>"+item.Code +"</td>"); 16 table.Append("<td>" + item.Name+ "</td>"); 17 table.Append("<td>" + item.Address + "</td>"); 18 table.Append("</tr>"); 19 } 20 table.Append("</table>"); 21 var listData = table.ToString(); 22 Response.Clear(); 23 Response.ContentType = "applicationvnd.ms-excel"; 24 //导出excel格式 25 Response.AddHeader( 26 @"Content-Disposition", 27 string.Format(@"attachment; filename=""{0}.xls", HttpUtility.UrlPathEncode("表_" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")))); 28 Response.Write(listData); 29 }