В расчетах, предоставляемых моим сервером 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"
Двойной щелчок generateFile.bat
и openExcel.bat
в сервере Windows в Microsoft Remote Desktop
работает хорошо; openExcel.bat
открывает Excel, который работает как локально.
По 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?
Может ли кто-нибудь помочь?