Excel图表到JavaScript

时间:2011-04-05 12:10:48

标签: javascript excel vba openxml highcharts

有人建议从MS Excel图表创建JavaScript图表的方法,以便保留颜色和其他格式选项吗?理想情况下,我可以创建一个HighCharts char或者看起来至少接近用户在Excel中创建的char。目前,我正在研究Open XML / Drawing ML文件格式或可能的VBA,以创建一些JavaScript图表lib的转换层,例如: HighCharts。

请注意,这不仅仅是导出为简单CSV文件的情况,这里的关键考虑因素是保留图表格式。

感谢您的任何建议,

A,

2 个答案:

答案 0 :(得分:2)

我可以推荐一个名为Funfun的加载项,您可以在Excel中编写一些Javascript,HTML和css代码。它拥有一个带有嵌入式电子表格的在线编辑器,可以更轻松地过渡到Excel。

我将采取bubble chart example from Highcharts并更改数据,这是我得到的:

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

我将数据存储在嵌入电子表格中,感谢json文件,我可以在我的javascript代码中使用它:

{
    "data": "=A1:E16"
}

我在script.js中格式化我的数据,所以我可以直接在Highcharts中加载它(对于数字,你必须将数据转换为浮点数或int):

var data = [];

for (var i = 1; i < $internal.data.length; i++)
  data.push(
    {
      x: parseFloat($internal.data[i][2]),
      y: parseFloat($internal.data[i][3]),
      z: parseFloat($internal.data[i][4]),
      name: $internal.data[i][1],
      country: $internal.data[i][0]
    }
  );

然后在图表中添加数据:

series: [{
        data: data
    }]

您当然可以更改图表的设置(颜色,文字,字体,图表类型......)。

完成后,您可以通过粘贴Funfun add-in中的网址直接将其加载到Excel中。以下是我的示例:

final

我使用Highchart作为我的例子,因为你提到它但你当然可以使用许多其他强大的库,如chart.js和plotly.js(用于3D图表)。

披露:我是Funfun的开发者。

答案 1 :(得分:0)

的JavaScript?除非文件是在客户端加载的,否则使用服务器端PHP插件会更容易。

请提供有关您情况的更多信息