У меня есть некоторые проблемы с открытием документа Excel в веб-приложении, работающем под Apache (mod_wsgi) / Windows 2008 Server (нет проблем, когда приложение работает на сервере разработчика django - один поток).
Myкод:
def my_view(request):
import pythoncom
from win32com.client import DispatchEx
pythoncom.CoInitializeEx(pythoncom.COINIT_MULTITHREADED)
xl = win32com.client.dynamic.Dispatch('Excel.Application')
xl.DisplayAlerts = False
xl.Visible = 0
doc = xl.Workbooks.Open("C:\\path\\to\\file.xlsx")
doc.Saved = True
...
wb.Close(SaveChanges=0)
xl.Quit()
pythoncom.CoUninitialize()
Сообщение об ошибке:
(- 2147352567, «Произошло исключение.», (0, «Microsoft Office Excel», «Microsoft Office Excel не может получить доступ к файлу»)C: \ path \ to \ file.xlsx '. Существует несколько возможных причин: имя файла или путь не существует. Файл используется другой программой. Книга, которую вы пытаетесь сохранить, имеет то же имя, что и текущая.открыть книгу. ", u'C: \ Program Files (x86) \ Microsoft Office \ Office12 \ \ 1033 \ XLMAIN11.CHM ', 0, -2146827284), Нет)
Я знаю, что где-то локализована проблемав потоке, но где?Я использую pythoncom.CoInitializeEx (pythoncom.COINIT_MULTITHREADED).Может быть, смена сервера решит проблему?
Libs: Django 1.2, Apache 2.2 (mod_wsgi), win32com (последняя версия)
Надеюсь, кто-нибудь сможет мне помочь.
СпасибоВы, привет.