我有一张包含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>
还有其他方法可以达到这个目的吗?请发布示例代码。感谢。
答案 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,如下图所示。
这里我有一个示例图表,使用HighChart.js和电子表格中的数据绘制。您可以在Excel的右侧看到图表。然后,您可以单击图表左上角的按钮以在默认浏览器中打开图表。看起来像这样。
此外,如果要在浏览器中同时显示电子表格和图表。你有两个选择。
第一个是在线使用Excel。然后,您的浏览器与本地Excel中的内容相同。
至于第二个选项, Funfun还有一个在线编辑器,您可以在其中浏览JavaScript代码以及数据。
您可以在下面的链接中查看此示例的详细代码。
https://www.funfun.io/1/edit/5a439b96b848f771fbcdedf0
披露:我是Funfun的开发者