为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在javascript中使用jspdf和autotable导出所有html表格分页数据

有没有办法在javascript中使用jspdf和autotable导出所有html表格分页数据

慕田峪9158850 2023-05-17 14:41:08
我正在将 HTML 表格数据导出为 PDF。我有很多数据要导出,因此我的 HTML 表格有一个分页选项。导出时我只得到出现在 JSP 页面上的数据。其他分页数据未以 PDF 格式获取。有没有办法获取所有的HTML表格分页数据?我必须在 HTML 表格中使用分页选项,因为数据可能太大。function exportTableToPDF(filename,report_title) {    var doc = new jsPDF('p', 'pt','a4');    var header = function(data) {      if (data.pageCount > 1) {        return false;      }      else      {        doc.setFontSize(11);        //doc.setTextColor(200, 0, 255);        doc.setFontStyle('bold');        doc.text(report_title, data.settings.margin.left + 35, 60);        doc.text('<%=DateLib.getDateTimeNow()%>', data.settings.margin.left + 35, 80);      }    };    var totalPagesExp = '{total_pages_count_string}';    var footer = function(data) {      var str = 'Page ' + data.pageCount;      // Total page number plugin only available in jspdf v1.0+      if (typeof doc.putTotalPages === 'function') {        str = str + ' of ' + totalPagesExp;        console.log('test');      }      doc.text(str, data.settings.margin.left, doc.internal.pageSize.height - 30);    };    var options = {      beforePageContent: header,      afterPageContent: footer,      pagesplit: true,      margin: {        top: 100      }    };    var elem = document.getElementById('datatable-1');    var data = doc.autoTableHtmlToJson(elem);    doc.autoTable(data.columns, data.rows, options);    // Total page number plugin only available in jspdf v1.0+    if (typeof doc.putTotalPages === 'function') {      doc.putTotalPages(totalPagesExp);    }    doc.save(filename);  }此提供的代码仅提取当时出现在 JSP 上的数据。例如,如果我的第 4 页上的 HTML 表格使用分页选项,这将仅提取第 4 页的数据。
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

本地可能不存在所有数据。您可以创建一种方法来将 pdf 的数据作为 json 获取,或者以其他方式立即将其包含在页面上。



查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 210 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信