Re: Excel OLE Automation using COM: file access problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/5/18 Faubry, Samuel <Samuel.Faubry@xxxxxxxxxxx>:
> Hi,
>
> I am interfacing PHP and Excel to build a web-based reporting tool. I am running IIS6.0 with PHP 5.2.5 on Windows Server 2003, with Office 2003 installed.
>
> For testing purpose, I wrote a script that just connects to Excel, opens a workbook, saves it under another name and closes Excel:
>
> $if_path = 'C:\if_test.xls';
> $of_path = 'C:\of_test.xls';
>
> echo date('H:i:s') . " Launch Excel application \n";
> $excelApp = new COM("Excel.Application") or die("Cannot create an Excel object");
> echo date('H:i:s') . " Loaded Excel, version {$excelApp->Version}\n";
>
> echo date('H:i:s') . " Open workbook at path $if_path\n";
> $excelApp->Workbooks->Open($if_path, 2);
>
> echo date('H:i:s') . " Save changes to $of_path\n";
> $excelApp->Workbooks[1]->SaveAs($of_path);
>
> echo date('H:i:s') . " Close Excel\n";
> $excelApp->Quit();
>
> When I open the page in Internet Explorer, if I put "http://localhost/test.php";, everything works fine, but if I put "http://my_server_name.domain.int/test.php";, the script is blocked when trying to open the file, which means I can't access the script elsewhere than on the server.
>
> By "blocked", I mean no error is shown, but it doesn't react, and the excel.exe task keeps running and keeps the file locked.
>
> My guess is that Excel is run with different permissions in the second case, so it cannot access the file, but it might be completely something else...
>
> Does someone have any experience in that matter ?
>
> Thank you very much !
>
>

If it is permissions, TEMPORARILY, allow IIS to interact with the
desktop. Hopefully you can RDP to the server as the console and see
what error message pops up (if any).

As PHP and excel run on the server, you will need to see the server
for any errors that can be displayed in this regard.

I don't think you'll be able to do this on server 2008 as the
"console" is no longer displayed (session 0 is purely for internal use
only - services and the like - and no display is allowed).


-- 
-----
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
"Standing on the shoulders of some very clever giants!"

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux