从AngularJS webapp编辑预制的启用宏的Excel文档

时间:2017-03-22 21:04:14

标签: angularjs excel vba excel-vba

我已经遇到了一个问题,我似乎无法弄清楚如何在经过数小时的互联网搜索后干净利落地工作,希望你们都能帮助我。

我们有一个AngularJS网络应用程序,用于根据大量变量在数据库中创建对象。将对象放入数据库后,我们希望将一些字段放入一个启用宏的Excel文档中,该文档包含一些必要的VBA宏,然后下载到用户的计算机。

根据我的发现,Angular可以将数据输出到新的Excel文档,但我们需要将数据放入预先存在的Excel文档中。我找到的最接近的工具是来自SheetJSdifferent StackOverflow question/answer,但该答案实际上并未实现编辑当前Excel的功能,只能写入新的Excel文档。

我们非常感谢您解决我的问题的所有建议!

1 个答案:

答案 0 :(得分:0)

我可能已经找到了答案,但它还没有完全可用。我在SheetJS GitHub页面上留下了an issue,今天得到了解答。听起来像宏持久性功能正在这个即将到来的星期五的版本中添加。在那里,将package 'nrpe' do action :install end cookbook_file "/etc/nagios/nrpe.cfg" do source "entry-nrpe.cfg" mode "0644" end 添加到readFile调用的选项中,例如bookVBA:true,然后在writeFile调用中添加XLSX.readFile("filename", {bookVBA:true, /* .. other options */});选项。

这当然是推测性的,因为这种变化尚未生效。我肯定会在那时更新这个答案。

编辑/更新:SheetJS现在可以将宏复制到新工作簿,但目前存在一个错误。如果您在ThisWorkbook对象中有任何代码在启动,工作表更改等方面做任何事情,那么在写回来之后它们将无法工作,因为它会创建一个新的ThisWorkbook1对象。我已经开了一个问题,但应该相对较快地修复。