1

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

  1. 这是达到预期目的的好工具吗?如果没有,有什么好的选择?
  2. 我将如何使用 javascript 直接从 excel 中获取数据并使用它来提供图表?是否只能通过使用 JSON 或 angular.js 等其他技术来完成?如果数据每分钟左右变化一次,那不是很昂贵吗?
  3. 如果有可能,您能否使用文档中显示的任何图表为我提供一个示例?

提前致谢。

4

1 回答 1

1

存在一个与您想要构建的非常相似的有用工具。这是一个名为Funfun的 Excel 插件,它还托管一个带有嵌入式电子表格的在线编辑器。

这是我用chartist.js 制作的图表。如您所问,它是 chartist.js 网站首页上显示的图表,如下所示RESPONSIVE CHARTS CONFIGURATION

https://www.funfun.io/1/#/edit/5a69b5ddfa7bd43614770df9

为了从 excel 电子表格转换到 javascript,我确实使用了 JSON 文件,它是Settings下的文件,我从电子表格中选择我想要的列,如下所示:

{
    "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 加载项中来将图表加载到 Excel 中。下面是这个例子的样子:

最后

回答您的问题:这是达到预期目的的好工具吗?

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

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

披露:我是 Funfun 的开发者。

于 2018-01-25T12:04:23.900 回答