复选框选择数据导出成Excel表

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             }    

 

posted @ 2017-06-13 10:28  不欠  阅读(2097)  评论(0编辑  收藏  举报