from win32com.client import Dispatch
>>> excel = Dispatch('Excel.Application') # get a handle to the Excel COM object
>>> workbook = excel.Workbooks.Open('absolute\\path\\to\\workbook.xlsm') # open an existing excel workbook
>>> worksheet = workbook.Worksheets('Sheet1') # get the worksheet called "Sheet1"
>>> r = worksheet.Range('A1:A5')
>>> print r.Value
((u'Value of A1',), (u'Value of A2',), (u'Value of A3',), (u'Value of A4',), (u'Value of A5',))
>>>
>>> r.Value = range(5)
>>> print r.Value
((0.0,), (1.0,), (2.0,), (3.0,), (4.0,))
>>>
>>> workbook.Close()
>>> excel.Quit()
您可以使用 COM 对象控制 excel 的任何方面。如果您首先运行 excel.Visible = 1,您可以实时观察所有发生的更改。
但是,在使用此 api 时,您需要注意正确关闭 excel 对象。如果您的程序在正确调用 excel.Quit() 之前崩溃或退出(在某些情况下我发现我必须显式调用 del excel),那么您将结束让 EXCEL.exe 进程在后台运行。