导入

  1. const ExcelJS = require('exceljs');

ES5 导入

要使用 ES5 编译代码,请使用 dist/es5 路径。

  1. const ExcelJS = require('exceljs/dist/es5');

**注意:**ES5 版本对许多 polyfill 都具有隐式依赖,而 exceljs 不再明确添加。 您需要在依赖项中添加 core-jsregenerator-runtime,并在导入 exceljs 之前在代码中包含以下引用:

  1. // exceljs 所需的 polyfills
  2. require('core-js/modules/es.promise');
  3. require('core-js/modules/es.string.includes');
  4. require('core-js/modules/es.object.assign');
  5. require('core-js/modules/es.object.keys');
  6. require('core-js/modules/es.symbol');
  7. require('core-js/modules/es.symbol.async-iterator');
  8. require('regenerator-runtime/runtime');
  9. const ExcelJS = require('exceljs/dist/es5');

对于 IE 11,您还需要一个 polyfill 以支持 unicode regex 模式。 例如,

  1. const rewritePattern = require('regexpu-core');
  2. const {generateRegexpuOptions} = require('@babel/helper-create-regexp-features-plugin/lib/util');
  3. const {RegExp} = global;
  4. try {
  5. new RegExp('a', 'u');
  6. } catch (err) {
  7. global.RegExp = function(pattern, flags) {
  8. if (flags && flags.includes('u')) {
  9. return new RegExp(rewritePattern(pattern, flags, generateRegexpuOptions({flags, pattern})));
  10. }
  11. return new RegExp(pattern, flags);
  12. };
  13. global.RegExp.prototype = RegExp.prototype;
  14. }

浏览器端

ExcelJS 在 dist/ 文件夹内发布了两个支持浏览器的包:

一个是隐式依赖 core-js polyfills 的…

  1. <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.js"></script>
  2. <script src="exceljs.js"></script>

另一个则没有…

  1. <script src="--your-project's-pollyfills-here--"></script>
  2. <script src="exceljs.bare.js"></script>