繁体   English   中英

C#/ Javascript数据表导出到Excel和PDF

[英]C#/Javascript datatable export to Excel and PDF

我从前同事那里接管了一个C#实体框架项目。 他以我不熟悉的Java方式设置了一些表格。 我需要将此数据表的内容导出到Excel和PDF文件(每个文件都单独的按钮)。 我愿意使用C#,Javascript或JQuery。

我最近一直在做ColdFusion,并且差不多一年都没有看任何与.NET相关的东西,所以我试图重新学习并弄清以前从未见过的东西,所以我不禁思索。

用于填充数据表的Javascript代码:

              $(document).ready(function () {

                  var active = true;

                  GetList(active);
              });

              function ChangeList() 
              {
                  GetList($("#ddlRiderType").val());
              }

              function GetList(isActive) {

                  $('#dataTable').dataTable({
                      "sDom": '<"top"lf>rt<"bottom"ip><"clear">',
                      "bAutoWidth": false,
                      "bProcessing": true,
                      "bSort": true,
                      "bDestroy": true,
                      "sPaginationType": "full_numbers",
                      "bServerSide": true,
                      "sAjaxSource": "Instructor.aspx/GetAllInstructors",
                      "fnServerData": function (sSource, aoData, fnCallback) {

                          var jsonData = "{jsonAOData : '" + JSON.stringify(aoData) + "', isActive: '" + isActive + "'}";

                          $.ajax({
                              //dataType: 'json', 
                              contentType: "application/json; charset=utf-8",
                              type: "POST",
                              url: sSource,
                              data: jsonData,
                              complete: function () { Init(); },
                              success: function (msg) {
                                  if (msg.d != null)
                                      fnCallback(msg.d);
                              },
                              error: function (XMLHttpRequest, textStatus, errorThrown) {
                                  ntfy_push("Error", ServerFail());
                              }
                          });
                      },
                      "aoColumnDefs": [

                { "sName": "Cipher",
                    "aTargets": [0],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "sName": "firstName",
                    "aTargets": [1]
                },
                { "sName": "lastName",
                    "aTargets": [2]
                },
                { "sName": "org",
                    "aTargets": [10]
                },
                { "sName": "workPhone",
                    "aTargets": [4]
                },
                { "sName": "altPhone",
                    "aTargets": [5],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "sName": "cellPhone",
                    "aTargets": [6],
                    "bVisible": false,
                    "bSearchable": false
                },
                 { "sName": "email",
                     "aTargets": [7]
                 },
                { "sName": "riderCoach",
                    "aTargets": [8],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "sName": "rangeAid",
                    "aTargets": [9],
                    "bVisible": false,
                    "bSearchable": false
                },
                 { "sName": "admin",
                     "aTargets": [3]
                 },
                { "sName": "seniorInst",
                    "aTargets": [11],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "sName": "dateAdded",
                    "aTargets": [12],
                    "bVisible": false,
                    "bSearchable": false
                },
                 { "sName": "dateMod",
                     "aTargets": [13],
                     "bVisible": false,
                     "bSearchable": false
                 },
                { "sName": "modBy",
                    "aTargets": [14],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "sName": "active",
                    "aTargets": [15],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "sName": "delete",
                    "aTargets": [16],
                    "bVisible": false,
                    "bSearchable": false
                },
                { "fnRender": function () {
                    return "Edit";
                },
                    "aTargets": [17]
                },
                { "fnRender": function () {
                    return "Delete";
                },
                    "aTargets": [18]
                }
            ],
                      "sDom": '<"toolbar">flrtip'
                  });

                  $("div.toolbar").html("<div class = 'tableOption'><img src = 'image/button/new-icon.png'/ alt= 'Add New Class' style = 'cursor:pointer' onclick = 'Show_New_Instructor()'></div>");
              }

标头使用的数据表

<table id = "dataTable">
<thead>
    <tr>
        <th>Instructor ID</th>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Admin</th>
        <th>Work Phone</th>
        <th>Alt Phone</th>
        <th>Cell Phone</th>
        <th>Email Address</th>
        <th>Rider Coach</th>
        <th>Range Aid</th>
        <th>Organ</th>
        <th>Senior Inst</th>
        <th>Date Added</th>
        <th>Date Modified</th>
        <th>Mod By</th>
        <th>Active</th>
        <th></th>
    </tr>
</thead>

<tbody></tbody>
</table>

Excel按钮:

PDF按钮:

预先感谢您的帮助,如果此帖子已发布在某处,我对此深表歉意。

由于您可以使用这三个平台中的任何一个,因此您可能需要检查Office互操作性,从而可以在C#代码中最大限度地利用MS Office。

http://msdn.microsoft.com/en-ca/library/dd264733.aspx

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM