>我正在尝试从PHP运行VBScript(在FastCGI/IIS下运行)来修改xls文件。
VBScript 如下所示:
...
Dim objXLApp, objXLWb, objXLWs
Set objXLApp = CreateObject("Excel.Application")
objXLApp.Visible = False
objXLApp.DisplayAlerts = False
Set objXLWb = objXLApp.Workbooks.Open(FilePath)
Set objXLWs = objXLWb.Worksheets(1)
objXLWs.Cells(1, 1) = "This is a test!"
objXLWb.Save
...
test.php 文件如下所示:
<?php
echo shell_exec("cscript.exe Test.vbs test.xls");
如果我打开控制台并运行php test.php
它会正确修改 xls 文件,但如果我重置 xls 文件并访问 test.php在浏览器窗口中它不会执行任何操作。弄乱了WShell.Echo,它似乎在objXLApp.Workbooks.Open(FilePath)
线上崩溃/停止。
当我使用php -S
在本地计算机上运行此代码时,它运行良好,只是在Windows Server 2012主机上的IIS下运行时,它不起作用。
这是什么原因造成的?有什么办法可以解决它吗?谢谢!
C:'Users'User>"C:'Users'User'Desktop'New Text Document.vbs" "C:'Users'User'Desktop'David'Documents'Payrates.xls"
和
Set objXLWb = GetObject(WScript.Arguments(0))
Set objXLWs = objXLWb.Worksheets("Sheet2")
objXLWs.Cells(1, 1) = "This is a test!"
objXLWb.Save