用 JS 调用 LibreOffice Calc

Posted

技术标签:

【中文标题】用 JS 调用 LibreOffice Calc【英文标题】:Call LibreOffice Calc with JS 【发布时间】:2020-08-22 19:56:10 【问题描述】:

我正在寻找一种从 js 脚本调用 LibreOffice Calc 的方法(例如打开磁盘上的现有文件)。我知道我可以使用 ActiveXObject 打开 Excel,但使用 Calc 无法正常工作。

<script type="text/javascript">
  function test() 
    var Excel = new ActiveXObject("Excel.Application");
    Excel.Visible = true;
    Excel.Workbooks.Open("teste.xlsx");
  
</script>

更新:优先考虑IE

【问题讨论】:

【参考方案1】:

你不能。 (至少不是在标准浏览器中)

出于明显的安全原因,无法从 JavaScript 启动本机应用程序。想象一下,如果您访问的任何网站都可以在您的计算机上随机启动程序。

ActiveXObject 是 Internet Explorer 的一项旧功能,绝对不能在任何现代浏览器中运行(正如其 MDN 页面上的细微警告所示:https://developer.mozilla.org/en-US/docs/Archive/Web/JavaScript/Microsoft_Extensions/ActiveXObject)。

编辑:这是一篇关于浏览器沙箱及其必要性的优秀文章:https://web.dev/browser-sandbox/

【讨论】:

Thk,我知道 ActiveXObject,但是例如我可以从 IE 运行 Calc? 根据这篇 LibreOffice 帮助文章,可以通过 ActiveXObject 控制 LibreOffice:help.libreoffice.org/7.0/en-US/text/shared/guide/…

以上是关于用 JS 调用 LibreOffice Calc的主要内容,如果未能解决你的问题,请参考以下文章

LibreOffice Base 数据库的 Node.js 连接库?

Libreoffice Base - 如何从宏调用控制事件?

用递增值填充列单元格的公式 (LibreOffice)

在Linux下下载了libreoffice,想用命令将doc转化成pdf,但是不知道为啥网上的方法都不行,求详细解答

Excel 宏到 LibreOffice

Apache/PHP + LibreOffice