未安装excel时运行Excel宏

ama*_*der 1 html vb.net vbscript vba excel-vba

我有一本excel工作簿.我需要将其显示为将自动刷新的HTML页面(例如每2分钟一次).为此,我需要在每张工作表上运行计算,然后另存为HTML.我稍后会弄清楚如何在以后交换旧HTML文件.我已经在excel中有一个宏来完成所有计算,然后每2分钟保存为HTML.我需要做的就是调用那个宏

问题是所有这些都要发生的机器是服务器机器,因此无法在其上安装MS office.因此我无法使用Excel COM Inter-op.

一个是如果我可以写一个.net程序或一个将运行宏的Vb脚本.但是.net程序总是使用inter-op.

另一种方法是,如果我可以将本书保存为HTML并在HTML本身中运行宏(不知道HTML是否具有VB A代码).在这里我也发现我需要安装Visual Basic编辑器(因为它只附带excel).

我宁愿不使用第三方软件.

上述两个程序中的任何一个都可以在给定的条件下实施吗?如果没有,还有其他方法吗?

更新:

一直在寻找开放XML的解决方案,并最终发现开放的XML 2.0无法运行Excel计算,因为SDK没有计算引擎.Open XML SDK 2.5是否有计算引擎?

Chr*_*uer 5

简而言之:如果没有安装Excel,则无法运行宏.更糟糕的是:你不应该在服务器上输入Excel.不建议也不可能以稳定的方式执行此操作.我最好的选择是这样的:使用:net库可以读取xlsx文件,比如EPPLUS,并将这个宏"翻译"成net,以EPPLUS库为基础.此外,这比Interop(因子10 - 100)快得多,并且更适合使用ASP.NET(例如)的服务器基础结构.

  • @amaturcoder:我开发了一个相当大的Excel/Powerpoint Interop软件.虽然看起来它比第三方图书馆"更好",但却是一个黑洞,它会占用你的时间.是的,您可以在服务器上安装Excle来运行此宏.但是你的响应时间很慢,奇怪的错误和excel的彻底挂起.您可以尝试修复其中的一部分,但在Net中重新开发宏的时间并不多. (2认同)