gpt4 book ai didi

javascript - 如何使用 jspdf-Autotable 在表格中添加自定义最后一行

转载 作者:行者123 更新时间:2023-12-02 21:09:43 25 4
gpt4 key购买 nike

我正在尝试使用 jspdfjspdf-Autotable 构建一个小型应用程序,但我不知道如何使用另一个变量值创建自定义最后一行现有的表。

到目前为止我所做的是:

  doc.autoTable({ 
body: concepts,
columns: [{ header: 'Concept', dataKey: 'name' }, { header: 'Amount', dataKey: 'amount' }],
didDrawPage: function (data) {
let rows = data.table.body;
rows.push({
content: 'Total = ' + total,
colSpan: 2
});
if (data.row.index === rows.length - 1) { doc.setFillColor(239, 154, 154); }
}
});

我很确定我对如何面对这个问题感到困惑。 total 带有一个数字值,但我想将其单独打印在一个自定义的最后一行中,但在表格内,就像 Excel 规则一样。

任何建议都会有帮助!谢谢。

最佳答案

您必须在处理元素之前添加自定义数据。使用 ... 解构数据并与新行合并。

function generate() {
var doc = new jsPDF();

var data = [
{name: "Bar", amount: 1200},
{name: "Zap", amount: 200},
{name: "Foo", amount: 320}];

var total = data.reduce((sum, el) => sum + el.amount, 0);

var body = [...data.map(el => [el.name, el.amount]),
[{content: `Total = ${total}`, colSpan: 2,
styles: { fillColor: [239, 154, 154] }
}]]

doc.autoTable({
head: [['Concept', 'Amount']],
body: body
});

doc.save("table.pdf");
}
<script src="https://unpkg.com/jspdf@1.5.3/dist/jspdf.min.js"></script>
<script src="https://unpkg.com/jspdf-autotable@3.4.1/dist/jspdf.plugin.autotable.js"></script>
<button onclick="generate()">Generate PDF</button>

关于javascript - 如何使用 jspdf-Autotable 在表格中添加自定义最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61129619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com