在 angular 应用程序中导入 SpreadJS 图表库的正确方法

Correct way to import SpreadJS Charting library in an angular application

我正在尝试在我的 angular 应用程序中导入 SpreadJS 图表库,但无论我尝试的选项如何,我都没有得到结果。但是,一位同事使用相同的代码和设置,能够正确使用图表。

我们使用的版本是:

    "@grapecity/spread-excelio": "^12.0.9",
    "@grapecity/spread-sheets": "^12.0.9",
    "@grapecity/spread-sheets-angular": "^12.0.9",
    "@grapecity/spread-sheets-charts": "^12.0.9",

通过 NPM 模块安装。

我们也尝试了以下指南,但它似乎已过时并且对我们不起作用: https://www.grapecity.com/en/blogs/create-angular-spreadsheets-with-angular-cli

我们在组件中使用它们的方式是像这样导入它们:

import * as GC from '@grapecity/spread-sheets';
import '@grapecity/spread-sheets-charts';

当我调用 sheet.charts.clear(); 时,我收到以下错误消息: Cannot read property 'clear' of undefined(假设 sheet 是一个包含对 spreadjs sheet 的引用的变量)。 我的同事对相同的代码没有任何问题,图表为他完美加载。

关于我们还应该尝试什么的任何建议?

发生这种情况的原因是我们 package-lock.json 中的每个模块都有不同的版本。

为了修复它,我们简单地删除了package-lock.jsonnode-modules文件夹。再次 运行 npm install 之后,一切开始正常工作。只需确保 package.json 还包含每个模块的相同版本。