我在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"
]
},
答案 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' }
})
});