问题:
我正在开发一个 Web 应用程序,它将数据从数据库导出到 Excel,包括图表,这首先是导出的主要原因。
现在我希望图表在网页上也可见,而不需要导出数据并打开下载的 Excel 文件。这当然可以使用 JS 库来完成,但是由于图表相当复杂,我想重新使用现有的导出到 excel 的方法,或者现在用 JS 重新编写它。
所需的解决方案:
因此,这是可能的最佳方案:如果可以将图表从 excel 文件导出为 png(或 jpg 或其他),甚至无需打开 excel 文件,例如从命令行或其他方式。而且生成的文件在 OpenOffice 中打开得很好,所以我可以使用它。然后我可以在服务器上导出到Excel,然后从Excel导出图像,然后将图像发送到客户端。
这样的事情有可能吗?如果第三方程序能起到作用,我并不反对它。如果不是,您认为针对这种情况的下一个最佳解决方案是什么?
我有 Excel 2016,并且我正在使用 PHPExcel 生成 excel 文件(如果这很重要的话)。
可能的解决方案:
一些不错的选择似乎是将文档另存为网页 https://www.ablebits.com/office-addins-blog/2013/08/27/save-excel-chart-as-image/,但我不知道您是否可以从命令行/不打开 Excel UI 来执行此操作。
还有开放办公API https://wiki.openoffice.org/wiki/API看起来不错,但我以前从未使用过它,你可以通过这个API(使用Java或其他东西)导出图表而不打开Calc UI吗?我知道开放办公室有 --invisible 选项,这可能很有用。
好吧,这会将图表导出为 .png 文件,但它会打开 excel 文件(然后关闭它),您可以尝试以下操作:
将其放入一个.vbs
- 文件并通过控制台运行它。
Set objXLS = CreateObject("Excel.Application")
Set yWkbk = objXLS.Application.Workbooks.Open("C:\yourpath\yourfile.xls")
'Sheet ID can change of course
Set yWksht = yWkbk.Sheets(1)
Set yChart = yWksht.ChartObjects("yourchartname").Chart
yChart.Export "C:\yourpath\yourfilename.png", "PNG"
objXLS.Quit
Set objXLS = Nothing
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)