Python之间的Python和Excel

我想学习一些python,我希望python使用win32模块与excel交互。 我在这里find了一个关于wiki的基本例子。

它不会工作。 这是我得到的错误。

Traceback (most recent call last): File "C:/Users/Greg/Desktop/python programming/excel2.py", line 8, in <module> sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter)) NameError: name 'Application' is not defined 

我的问题是这条线是做什么,为什么我得到一个错误?

sheet.Range(“A2”)。Value = str(Application.SIFilter(None,c.siObjectFilter))

 import win32com.client from win32com.client import constants as c excel = win32com.client.Dispatch("Excel.Application") book = excel.Workbooks.Add() sheet = book.Worksheets(1) sheet.Range("A1").Value = "Hello World!" sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter)) book.SaveAs("c:\simple_example.xls") sheet = None book = None excel.Quit() excel = None 

非常抱歉,如果我是超级noob ….

你链接的代码看起来像是直接从这个博客拉。 从它的声音,你并没有试图与Softimage整合。 你会想要把这条线。

另外,如果您使用的是Excel 2007或更高版本,则需要写入xlsx文件,因为这是Excel.Application将为您创build的内容。

这是与这些更改修改相同的示例代码。

 import win32com.client excel = win32com.client.Dispatch("Excel.Application") book = excel.Workbooks.Add() sheet = book.Worksheets(1) sheet.Range("A1").Value = "Hello World!" book.SaveAs("c:\simple_example.xlsx") # or .xls depending on version sheet = None book = None excel.Quit() excel = None 

在这一行中:

 sheet.Range("A2").Value = str(Application.SIFilter(None, c.siObjectFilter)) 

您正试图将Application.SIFilter(None, c.siObjectFilter)为一个string。 您没有定义名为Application的对象。 我没有运行代码,但是我认为如果你编写excel.SIFilter(None, c.siObjectFilter)它可能会工作。 如果你只是想学习,写一些其他的东西,你会得到一个Excel文件。