如何在浏览器中显示excel图表?

时间:2009-05-29 05:50:55

标签: javascript excel activex

我有一张包含excel图表的excel表。我可以使用iframe在浏览器上显示entier excel表。但是,我只想在浏览器上显示excel表格中的图表。

我如何实现这一目标?我看到它需要Javascript + ActiveX API。我试过但是无法让它发挥作用。

请参阅下面的代码。它不起作用,因为我无法动态设置“object”标签的数据属性。它不允许。

<object id="objFrame" data="" type="application/vnd.ms-excel"></object>

<script>
var Excel = new ActiveXObject("Excel.Application"); 
Excel.Visible = false;
document.getElementById("objFrame").data  = Excel.Workbooks.Open("Test.xls").Sheets("Chart1");
Excel.Quit();
</script>

还有其他方法可以达到这个目的吗?请发布示例代码。感谢。

3 个答案:

答案 0 :(得分:1)

你应该检查this tool,我相信这将实现你正在寻找的东西,而不必将称为Office COM服务器的内存膨胀/泄漏加载到浏览器内存中,感觉就像你的违反安全最佳实践。

答案 1 :(得分:1)

SpreadsheetGear for .NET提供了加载Excel工作簿,插入值,计算然后渲染图表(或包含图表的一系列单元格)的功能,然后可以在浏览器中显示。您可以看到实时ASP.NET(C#和VB)样本here

免责声明:我拥有SpreadsheetGear LLC

答案 2 :(得分:1)

您可能需要查看the Funfun Excel add-in。基本上,Funfun允许您直接在Excel中使用JavaScript,如下图所示。

enter image description here

这里我有一个示例图表,使用HighChart.js和电子表格中的数据绘制。您可以在Excel的右侧看到图表。然后,您可以单击图表左上角的按钮以在默认浏览器中打开图表。看起来像这样。

enter image description here

此外,如果要在浏览器中同时显示电子表格和图表。你有两个选择。

第一个是在线使用Excel。然后,您的浏览器与本地Excel中的内容相同。

enter image description here

至于第二个选项, Funfun还有一个在线编辑器,您可以在其中浏览JavaScript代码以及数据。

enter image description here

您可以在下面的链接中查看此示例的详细代码。

https://www.funfun.io/1/edit/5a439b96b848f771fbcdedf0

披露:我是Funfun的开发者