使用 PDFmake 动态构建 table

Build table dynamically with PDFmake

我找到了一个如何使用 pdfmake 动态填充 table 的示例,它有 2 列。现在我尝试将另一列 'height' 添加到 table 但我不知道如何修改它。

function buildTableBody(data, columns) {
    var body = [];

    body.push(columns);

    data.forEach(function(row) {
        var dataRow = [];

        columns.forEach(function(column) {
            dataRow.push(row[column].toString());
        })

        body.push(dataRow);
    });

    return body;
}

function table(data, columns) {
    return {
        table: {
            headerRows: 1,
            body: buildTableBody(data, columns)
        }
    };
}

function Pdftest(){
  var externalDataRetrievedFromServer = [
    { name: 'Bartek', age: 34, height: 1.78 },
    { name: 'John', age: 27, height: 1.79 },
    { name: 'Elizabeth', age: 30, height: 1.80 },
  ];

    var dd = {
    content: [
        { text: 'Dynamic parts', style: 'header' },
        table(externalDataRetrievedFromServer, ['name', 'age', 'height'])
    ]
}
pdfMake.createPdf(dd).download();
}

有人知道需要修改什么吗?

错误出在其他地方,上面的代码工作得很好