Xlwings 保存后不会关闭书
Xlwings won't close book after saving
我目前正在尝试使用 xlwings 打开一本书并更新它的链接,然后保存并关闭。我使用的相关代码是:
import os
import xlwings as xw
app=xw.App(add_book=False)
app.display_alerts=False
for file in os.scandir(dirname):
if (file.name.endswith("Unposted Summary.xlsm")):
path=file.path
tmp=app.books.api.Open(path,UpdateLinks=True)
tmp.save(path)
app.quit()
在多次阅读文档并使用几种不同的方法(例如 app.quit()、app.kill()、book.close() 等之后...我一直保存后无法让xlwings关闭当前的书,所以我连链接是否正常更新的问题都没有考虑。
我猜问题出在我打开书籍的方式上。如果是这样,我不知道关闭它们的语法。
我通常不使用 xlwings
,但据我了解 app.books.api.Open
调用和 returns COM 对象,我什至不认为 tmp.save(...)
会起作用(至少在我的情况下不会)。
更好的选择是直接使用 xw.Book
包装器而不是 api
调用:
for file in os.scandir(dirname):
if (file.name.endswith("Unposted Summary.xlsm")):
tmp=app.books.open(file.path, update_links=True)
tmp.save()
tmp.close()
我还建议您练习 os.path.abspath
并在循环 dirname
时牢记您的工作目录。
我目前正在尝试使用 xlwings 打开一本书并更新它的链接,然后保存并关闭。我使用的相关代码是:
import os
import xlwings as xw
app=xw.App(add_book=False)
app.display_alerts=False
for file in os.scandir(dirname):
if (file.name.endswith("Unposted Summary.xlsm")):
path=file.path
tmp=app.books.api.Open(path,UpdateLinks=True)
tmp.save(path)
app.quit()
在多次阅读文档并使用几种不同的方法(例如 app.quit()、app.kill()、book.close() 等之后...我一直保存后无法让xlwings关闭当前的书,所以我连链接是否正常更新的问题都没有考虑。
我猜问题出在我打开书籍的方式上。如果是这样,我不知道关闭它们的语法。
我通常不使用 xlwings
,但据我了解 app.books.api.Open
调用和 returns COM 对象,我什至不认为 tmp.save(...)
会起作用(至少在我的情况下不会)。
更好的选择是直接使用 xw.Book
包装器而不是 api
调用:
for file in os.scandir(dirname):
if (file.name.endswith("Unposted Summary.xlsm")):
tmp=app.books.open(file.path, update_links=True)
tmp.save()
tmp.close()
我还建议您练习 os.path.abspath
并在循环 dirname
时牢记您的工作目录。