我在3天前安装了最新的xlwings
,用于我的Windows7 PC上的Python3.6.0 32位。
我希望xlwings
能够在后台工作,所以我喜欢这样:
# -*- coding: utf-8 -*-
import xlwings as xw
import datetime
app = xw.apps.add()
app.visible = False
wb = app.books.open('catalog.xlsx')
sht = wb.sheets['Sheet1']
rg = sht.range('A1:B8')
time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
sht.range('A20').value = time
wb.save()
app.kill()
当我运行它时,我的MS Office 2010窗口闪烁然后消失。
我搜索了stackoverflow,并得到了解决方案。如果我对此进行编码,它可以很好地工作:
# -*- coding: utf-8 -*-
import xlwings as xw
app = xw.App(visible=False)
wb = app.books.open('catalog.xlsx')
sht = wb.sheets['Sheet1']
rg = sht.range('A1:B8')
time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
sht.range('A20').value = time
wb.save()
app.kill()
但为什么app.visible = False
不能很好地运作?
如果你能告诉我原因,我会在心里向你表示感谢。 ^ _ ^
答案 0 :(得分:0)
它不能正常工作,因为当您的代码执行此操作时:
app = xw.apps.add()
app.visible = False
xlwings首先启动Office COM服务器 ,然后将其设置为不可见。这就是你看到闪光灯的原因。
当您的代码执行此操作时:
app = xw.App(visible=False)
xlwings启动Office COM服务器,从一开始就不可见。