如何在angular6中使用exceljs

How to use exceljs in angular 6

当我尝试像这样在 Angular-6 中使用 exceljs

import * as excel from 'exceljs'

createExcel() {
  let workbook = new excel.Workbook()
}

甚至我刚刚初始化了一个 class 并得到了这个错误。如果我注释掉这一行 let workbook = new excel.Workbook() 那么错误就消失了

./node_modules/fs-constants/browser.js Module not found: Error: Can't resolve 'constants' in 'D:\Developer\spire-client\node_modules\fs-constants'

您可以按如下方式导入它

import * as Excel from 'exceljs';

之后就可以使用Exceljs了:

const myWorkbook = new Excel.Workbook()

import * as Excel from "exceljs/dist/exceljs.min.js";
import * as ExcelProper from "exceljs";

let workbook: ExcelProper.Workbook = new Excel.Workbook();

只要您只使用从 exceljs 导入的类型定义,并且只使用从 exceljs/dist/exceljs.min.js 导入的函数,应用程序将 运行 很好,您仍然获得类型安全。

参考:https://www.npmjs.com/package/exceljs#create-a-workbook https://github.com/guyonroche/exceljs/issues/348#issuecomment-320690232

像这样导入

import * as Excel from "exceljs/dist/exceljs.min.js";

并声明

const workbook = new Excel.Workbook();

它会起作用。