蟒蛇和Excel之间的Python COM(Python com between python an

2019-09-16 13:54发布

我想学习一些Python和我想的蟒蛇与使用Excel的win32模块进行交互。 我发现了一个基本的例子,网上的维基这里 。

它不会然而工作。 这是我的错误。

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”)。值= STR(Application.SIFilter(无,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

谢谢如果对不起,我超级小白....

Answer 1:

您链接到看起来代码的拉直客的这个博客 。 从它的声音,你不尝试与整合的Softimage 。 你会想只取该行出来。

另外,如果你在使用Excel 2007或以后的版本,你想写一个xlsx文件,因为这是Excel.Application将会为你创造。

下面是这些变化修改了相同的示例代码。

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


Answer 2:

在这一行:

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

你试图把Application.SIFilter(None, c.siObjectFilter)中的字符串。 你没有定义调用的对象Application 。 我没有运行的代码,但我认为如果你写它可能工作excel.SIFilter(None, c.siObjectFilter) 如果你只是想学习,写别的东西,你会得到一个Excel文件。



文章来源: Python com between python and excel
标签: python excel com