javascript - 是否可以将 Excel 工作表中的数据提供给 Chartist.js?

标签 javascript excel charts spreadsheet chartist.js

我正在尝试构建一个应用程序,该应用程序从 Excel 工作表中获取数据并将其转换为图表。我打算使用的库是 chartist.js 。 如果 Excel 工作表被操作,应该重新创建图表而不刷新页面。我想请教以下问题:

  1. 这是一个实现预期目的的好工具吗?如果没有,什么是好的替代方案?
  2. 如何使用 JavaScript 直接从 Excel 获取数据并将其用于提供图表?只能通过使用JSON或者其他技术比如angular.js来完成吗?如果数据每分钟左右发生变化,这样做的成本不是很高吗?
  3. 如果可能的话,您能否使用文档中显示的任何图表为我提供一个示例?

提前致谢。

最佳答案

有一个有用的工具与您想要构建的工具非常相似。它是一个名为 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 中加载图表。下面是这个例子的样子:

final

回答您的问题:这对于预期目的来说是一个好工具吗?

我认为 Javascript 是一种用于数据处理和数据可视化的出色语言,对于想要在 Excel 中构建动态和交互式图表的人来说,有强大的 JavaScript 库,例如plotly.js(用于 3D 图表)或 Highcharts。

这个工具是 Excel 和 JavaScript 等其他语言之间的桥梁。这可能是 VBA 的替代方案。

披露:我是 Funfun 的开发者。

关于javascript - 是否可以将 Excel 工作表中的数据提供给 Chartist.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43898801/

相关文章:

javascript - 将 JSON 数据输出到 Chart.js 标签和数据

c# - 如何绘制带有标记(线段连接点)的路径?

javascript - Javascript 有没有办法选择与多个类名的 bool 表达式匹配的元素?

excel - 从字符串中删除某个单词后面的字符 - excel

excel - MS Excel 上的简单 VlookUp 不起作用

VBA LOOP 在所有工作表上创建相同的标题?

javascript - 根据值更改甘特图中的条形颜色

javascript - 带有完整站点链接的移动站点重定向

javascript - 如何将变量发送到JavaScript?

javascript - HTML DOM 如何优化这段代码?