我有一个带有一组VBA代码的Excel电子表格,可以对数据库中的数据进行各种操作。我现在需要在一夜之间自动运行 - 使用PHP(不要问为什么PHP - 有理由涉及其他事情)。
代码在Open上自动运行。
我已经尝试了各种各样的事情,但还在苦苦挣扎。
我有一个执行Excel的.bat文件 - 它可以在Windows中的命令行中正常工作。 在PHP中如果我使用EXEC甚至SYSTEM - 它似乎运行但什么都不做。没有错误 甚至试图运行BAT文件 - 但没有。
在Windows IIS上运行。
非常感谢任何帮助。
我尝试过的事情:
我有一个包含以下内容的.bat文件;
"C:\Program Files\Microsoft Office\Office14\excel.exe" /e "C:\fls\web\phpTest\DUMMYSsheet.xlsm"
...当在cmd中运行或在Windows中双击时它工作正常 - 并且Ssheet只输出一个日志文件来说它运行。
在PHP中,我尝试了以下内容;
$cmd="'C:\fls\web\phpTest\runit.bat'";
system("cmd /c ".$cmd,$retVal);
返回1值 - 但不执行电子表格代码
$cmd="'C:\Program Files\Microsoft Office\Office14\excel.exe' /e 'C:\fls\web\phpTest\DUMMYSsheet.xlsm'";
system("cmd /c ".$cmd,$retVal);
返回0值 - 但不执行电子表格代码
$cmd="'C:\Program Files\Microsoft Office\Office14\excel.exe' /e 'C:\fls\web\phpTest\DUMMYSsheet.xlsm'";
exec($cmd, $retArr, $retVal);
返回1值 - 但不执行电子表格代码