如果运行此代码,则会出现错误,找不到命名空间“ NodeJS”。
public exportExcel(jsonData: any[], excelFileName: string): void {
//Excel Title, Header, Data
const header: string[] = Object.keys(jsonData[0]);
const data = jsonData;
//Create workbook and worksheet
let workbook = new Workbook();
let worksheet = workbook.addWorksheet(excelFileName);
//Add Header Row
let headerRow = worksheet.addRow(header);
// Cell Style : Fill and Border
headerRow.eachCell((cell, number) => {
cell.fill = {
type: 'pattern',
pattern: 'solid',
fgColor: { argb: 'FFFFFF00' },
bgColor: { argb: 'FF0000FF' }
}
cell.border = { top: { style: 'thin' }, left: { style: 'thin' }, bottom: { style: 'thin' }, right: { style: 'thin' } }
})
// Add Data and Conditional Formatting
data.forEach((element) => {
let eachRow = [];
header.forEach((headers) => {
eachRow.push(element[headers])
})
if (element.isDeleted === "Y") {
let deletedRow = worksheet.addRow(eachRow);
deletedRow.eachCell((cell, number) => {
cell.font = { name: 'Calibri', family: 4, size: 11, bold: false, strike: true };
})
} else {
worksheet.addRow(eachRow);
}
})
...
node_modules / exceljs / index.d.ts(1648,34)中的错误:错误TS2503:找不到命名空间“ NodeJS”。
答案 0 :(得分:6)
这是已知的bug,是由于exceljs
的不兼容与@types/node
的版本引起的。我在Angular 10中也遇到了类似的问题。
存在2种可能的解决方案:
tsconfig.app.json
"types": ["node"]
文件
import * as Excel from "exceljs/dist/exceljs.min.js";
答案 1 :(得分:1)