COM-объект Workbook имеет метод Close () . По сути, это должно быть что-то вроде:
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open('New Workbook.xlsx')
# do some stuff
wb.Close(True) # save the workbook
Выше приведен лишь скелет. Вот код, который работает на моей машине с Office 2010:
from win32com.client import Dispatch
xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Add()
ws = wb.Worksheets.Add()
cell = ws.Cells(1)
cell.Value = 'Some text'
wb.Close(True, r'C:\Path\to\folder\Test.xlsx')
Конечно, это создает новый файл xlsx. Но тогда я могу успешно открыть и изменить файл в том же сеансе следующим образом:
wb = xl.Workbooks.Open(r'C:\Path\to\folder\Test.xlsx')
ws = wb.Worksheets(1)
cell = ws.Cells(2)
cell.Value = 'Some more text'
wb.Close(True)
Не знаю, поможет ли что-нибудь из этого ...