Почему я не могу "сохранить как" файл Excel из моего кода Python? - PullRequest
6 голосов
/ 17 сентября 2010

У меня есть класс Python ExcelDocument, который предоставляет основные удобные методы для чтения / записи / форматирования файлов Excel, и я получаю странную ошибку в, казалось бы, простом коде Python. У меня есть метод сохранения и saveAs:

def save(self):
   ''' Save the file '''
   self.workbook.Save()

def saveAs(self, newFileName):
   ''' Save the file as a new file with a different name '''
   self.workbook.SaveAs(newFileName)

Метод сохранения работает отлично, но когда я пытаюсь вызвать метод saveAs - myExcelObject.saveAs("C:/test.xlsx") - я получаю следующую ошибку:

Traceback (most recent call last):
  File "C:\workspace\Utilities\src\util\excel.py", line 201, in <module>
    excel.saveAs("C:/test.xlx")
  File "C:\workspace\Utilities\src\util\excel.py", line 185, in saveAs
    self.workbook.SaveAs(newFileName)
  File "<COMObject Open>", line 7, in SaveAs
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, u'Microsoft Office Excel', u"Microsoft Office Excel cannot access the file 'C:\\//8CBD2000'. There are several possible reasons:\n\n\u2022 The file name or path does not exist.\n\u2022 The file is being used by another program.\n\u2022 The workbook you are trying to save has the same name as a currently open workbook.", u'C:\\Program Files\\Microsoft Office\\Office12\\1033\\XLMAIN11.CHM', 0, -2146827284), None)

Может кто-нибудь объяснить, что происходит?

1 Ответ

15 голосов
/ 17 сентября 2010

Я обнаружил (трудный путь), что SaveAs не поддерживает слэш /.
Попробуйте вместо saveAs("C:\\test.xlx").

...