Я пытаюсь открыть существующую книгу под названием «N11 Result.xlsx». Скопируйте весь лист «Лист1» (переименуйте его в «Построить с помощью Python» сначала ...) и вставьте в новый рабочий лист (называемый «Годовой») в пределах одной и той же книги. Я думаю, что последняя строка моего кода не работает ... любая помощь будет полезна.скопируйте весь рабочий лист excel на новый рабочий лист с помощью Python win32com
import os,sys
sys.path.append(r"""U:\Programming\Python\Python Manipulate Excel""")
work_dir=r"""U:\Programming\Python\Python Manipulate Excel"""
file_name='N11 Result.xlsx'
import win32com.client
excel = win32com.client.Dispatch('Excel.Application')
excel.Visible = True
wb = excel.Workbooks.Open(work_dir+'\\'+file_name)
ws = wb.Worksheets('Sheet1')
ws.Name = 'Built with Python'
wb.Worksheets("Built with Python").Copy(before=wb.Worksheets("Annual"))
excel.Application.Quit()
Сообщение об ошибке обнаружился будет
Traceback (самый последний вызов последнего): Файл "U: \ Программирование \ Python \ Python Манипулирование Excel \ Test_createExcel_01.py", строка 17, в wb.Worksheets («Built with Python»). Копировать (before = wb.Worksheets («Annual»)) Файл «C: \ Temp \ gen_py \ 2.7 \ 00020813-0000-0000-C000-000000000046x0x1x7 \ Sheets.py ", строка 113, в звонок ret = self._oleobj_.InvokeTypes (0, LCID, 2, (9, 0), ((12, 1),), индекс com_error: (-21 47352567, 'Возникло исключение., (0, None, None, None, 0, -2147352565), None)
Может быть, посмотреть на одну из библиотек Python для выполнения всего этого: xlwt/xlrd openpyxl, xlsxwriter и т.д. По моему опыту, это гораздо проще, чем возиться с win32com – SiHa