首页 > 解决方案 > 是否可以在不破坏 jsPDF autoTable 布局的情况下导出 15 列的表格?

问题描述

我尝试使用 jsPDF autoTable 导出 15 列,但导出的表格布局不可读。我们怎样才能实现它?

标签: jspdfjspdf-autotable

解决方案


就我而言,我有 10 列,我将 pdf 方向更改为'landscape'和样式。此外,如果列中有长文本,则需要启用overflow: 'linebreak'. 这里有一些代码示例:

const doc = new jsPDF({ orientation: 'landscape' });

doc.text('Transitions', 5, 12);
doc.autoTable({
    showHead: 'firstPage',
    columns: // your columns,
    body: // your rows,
    startY: 18,
    styles: { overflow: 'linebreak', cellWidth: 'wrap', cellPadding: 1, fontSize: 6 },
    columnStyles: { text: { cellWidth: 'auto' } }
});

如果您需要对特定列使用换行符:

doc.autoTable({
    showHead: 'firstPage',
    columns: // your columns,
    body: // your rows,
    startY: 18,
    styles: { overflow: 'linebreak', cellWidth: 'wrap', cellPadding: 1, fontSize: 6 },
    columnStyles: { 
        someColumnName1: { cellWidth: 'auto' },
        someColumnName2: { cellWidth: 'auto' } 
    }
});

someColumnName1- 这是dataKeycolumns

请提供您的代码或 jsfiddle,以便我们提供更好的解决方案。


推荐阅读