如何使用javascript将asp.net中listview的数据导出为pdf

时间:2015-02-24 14:09:30

标签: javascript html css asp.net

是否可以使用JavaScript将数据从asp.net的控件导出为可移植文档格式? 我试图这样做,但我没有做到。

2 个答案:

答案 0 :(得分:1)

<script type="text/javascript">
 $(document).ready(function () {
            $(function () {

                var doc = new jsPDF();
                var specialElementHandlers = {
                    '#toPDF': function (element, renderer) {
                        return true;
                    }
                };
 $('#btnExport').click(function () {

                    var table = tableToJson($('#tblEmpDetails').get(0));
                    var doc = new jsPDF('l', 'pt', 'a1', true);
                    doc.cellInitialize();

                    $.each(table, function (i, row) {
                        doc.setFontSize(15);

                        console.debug(row);
                        $.each(row, function (j, cell) {
                            doc.cell(100, 50, 275, 50, cell, i);
    });
                    });
                    doc.save('sample-file.pdf');
 });

                function tableToJson(table) {
                    debugger;
                    var data = [];

                    // first row needs to be headers
                    var headers = [];
                    var tb = document.getElementById('tblEmpDetails');
                    var NoOfcolumns = tb.rows[0].cells.length;

                    //var lastrow = document.getElementById('tblEmpDetails').rows;
                    for (var i = 0; i < NoOfcolumns - 1; i++) {

                        headers[i] = table.rows[0].cells[i].innerHTML.toLowerCase().replace(/ /gi, '');


                    }

                    // go through cells
                    for (var i = 0; i < table.rows.length; i++) {
                        var tableRow = table.rows[i];
                        var rowData = {};

                        for (var j = 0; j < NoOfcolumns - 1; j++) {
                            rowData[headers[j]] = tableRow.cells[j].innerHTML;

                        }

                        data.push(rowData);
                    }

                    return data;
                }
                //                    doc.save('sample-file.pdf');
                //                });
            });
        });
    </script>

答案 1 :(得分:0)

使用项目模板,请参阅下面的示例。

http://www.java2s.com/Tutorial/ASP.NET/0380__Data-Binding/UseaListViewcontroltorenderanHTMLtable.htm

然后,您可以使用第三方转换工具(如ABCPDF等)轻松将HTML转换为PDF。