我正在尝试构建一个应用程序,该应用程序从 Excel 工作表中获取数据并将其转换为图表。我打算使用的库是 chartist.js 。 如果 Excel 工作表被操作,应该重新创建图表而不刷新页面。我想请教以下问题:
- 这是一个实现预期目的的好工具吗?如果没有,什么是好的替代方案?
- 如何使用 JavaScript 直接从 Excel 获取数据并将其用于提供图表?只能通过使用JSON或者其他技术比如angular.js来完成吗?如果数据每分钟左右发生变化,这样做的成本不是很高吗?
- 如果可能的话,您能否使用文档中显示的任何图表为我提供一个示例?
提前致谢。
最佳答案
有一个有用的工具与您想要构建的工具非常相似。它是一个名为 Funfun 的 Excel 插件,还托管一个带有嵌入式电子表格的在线编辑器。
这是我用 chartist.js 制作的图表。正如您所问,它是在 RESPONSIVE CHARTS CONFIGURATION
下的 Chartist.js 网站首页上显示的图表:
https://www.funfun.io/1/#/edit/5a69b5ddfa7bd43614770df9
为了从 Excel 电子表格转换为 JavaScript,我确实使用了 JSON 文件,它是设置下的短文件,我从电子表格如下:
{
"data": "=A1:B7"
}
我将其存储在 script.js 文件中的局部变量中,如下所示:
var label = [];
var values = [];
for (var i = 1; i < $internal.data.length; i++)
{
label.push($internal.data[i][0]);
values.push($internal.data[i][1]);
}
这是可选的,可以直接将数据添加到图表库中,但更干净。
您当然可以更改所选数据的值,图表将立即更改。
然后,您可以通过将 URL 粘贴到 Funfun Excel add-in 中来在 Excel 中加载图表。下面是这个例子的样子:
回答您的问题:这对于预期目的来说是一个好工具吗?
我认为 Javascript 是一种用于数据处理和数据可视化的出色语言,对于想要在 Excel 中构建动态和交互式图表的人来说,有强大的 JavaScript 库,例如plotly.js(用于 3D 图表)或 Highcharts。
这个工具是 Excel 和 JavaScript 等其他语言之间的桥梁。这可能是 VBA 的替代方案。
披露:我是 Funfun 的开发者。
关于javascript - 是否可以将 Excel 工作表中的数据提供给 Chartist.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43898801/