在我的Windows服务器提供的一次计算中,由于技术限制,我必须让Microsoft Excel参与进来:我需要系统地在服务器内部打开Excel,读取Excel文件的内容生成txt文件,然后关闭Excel。
为此,我Microsoft Office 2016
在虚拟机中安装了Microsoft Server 2012 R2
。我在服务器上托管一个网页http://test.addbba.com/batch.html
:单击按钮将运行batch.php
:
(* batch.php: *)
<?php
echo "Hello world!";
system("cmd /c C:/inetpub/testaddbbacom/generateFile.bat");
// system("cmd /c C:/inetpub/testaddbbacom/openExcel.bat");
echo "Bye world!";
?>
(* generateFile.bat: *)
echo "abc" > haha.txt
(* openExcel.bat: *)
"C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE"
在 Windows 服务器中双击generateFile.bat
并运行良好;确实打开了 Excel,其工作方式与本地类似。openExcel.bat
Microsoft Remote Desktop
openExcel.bat
通过batch.php
,system("cmd /c C:/inetpub/testaddbbacom/generateFile.bat");
也可以。但是,问题在于system("cmd /c C:/inetpub/testaddbbacom/openExcel.bat");
:取消注释该行并单击按钮后,我没有看到 Excel 在 中启动Microsoft Remote Desktop
,而且我不知道屏幕后面是否发生了什么事情。
最后,我必须使用(即打开、关闭)Excel 本身作为我在 Windows 服务器中实现自动化的一个步骤。在 Windows 桌面上实现自动化很容易,但在 Windows 服务器上如何实现呢?
有人可以帮忙吗?