尝试更改边框时ExcelJS /角度类型错误

时间:2018-11-06 16:33:59

标签: excel angular typescript exceljs

我在Angular 4项目中使用excelJS。当我尝试更改特定行的边框时,如下所示:

sheet.getRow(5).eachCell(cell => cell.border = {
    top: { style: 'thin' },
    left: { style: 'thin' },
    bottom: { style: 'thin' },
    right: { style: 'thin' }
});

我在角度编译器上遇到以下错误:

Type '{ top: { style: string; }; left: { style: string; }; bottom: { style: string; }; right: { style: ...' is not assignable to type 'Partial<Borders>'.

编辑: 我以前遇到过与this question相同的问题,该解决方案无效。有人还建议只使用npm install --save-dev @types/exceljs。但这也不起作用,因此我使用了this solution,并将以下内容添加到了我的tsconfig.json

"compilerOptions": {
    "paths": {
      "exceljs": [
        "../node_modules/exceljs/dist/es5/exceljs.browser"
      ]
    },

1 个答案:

答案 0 :(得分:0)

经过一番思考,我能够完成这项工作。但是解决方案感觉很脏。一种绕过编译器中的类型并且可以使用的解决方法是使用Object.assign

sheet.getRow(5).eachCell(cell => Object.assign(cell, {
    border: {
        top: { style: 'thin' },
        left: { style: 'thin' },
        bottom: { style: 'thin' },
        right: { style: 'thin' }
    })
});