xlwings(App.books.open/Book方式打开文件)
一、总结
一句话总结:
在多次处理文件中,App.books.open方式打开可以控制在一个excel窗口,Book方式则会打开多个窗口。
1、xlwings.App(visible=True,add_book=False) 这句话的意思?
其中参数visible(表示处理过程是否可视,也就是处理Excel的过程会不会显示出来),add_book(是否打开新的Excel程序,也就是是不是打开一个新的excel窗口)
二、xlwings(App.books.open/Book方式打开文件)
转自或参考:xlwings(App.books.open/Book方式打开文件)
https://blog.csdn.net/wang_zuel/article/details/94045535
import xlwings as xw
import time
app = xw.App(visible=True,add_book=False)
xlwings.App(visible=True,add_book=False)
其中参数visible(表示处理过程是否可视,也就是处理Excel的过程会不会显示出来),add_book(是否打开新的Excel程序,也就是是不是打开一个新的excel窗口)
创建新Excel文件
ex = app.books.add()
ex.save('./ex.xlsx')
#ex.close()
time.sleep(3)
ex2 = app.books.add()
ex2.save('./ex2.xlsx')
#ex2.close()
time.sleep(3)
app.books[0].close() //关闭app中第一个文件(ex.xlsx)
app.quit() //关闭整个excel窗口
打开Excel文件
在论坛里简单看了下xlwings的使用方法,一开始对使用App.books.open打开excel文件和用Book方法打开的区别不是很清楚,于是做了下面的尝试:
App.books.open方式打开
abc = ['A','B','C']
for ii in abc:
app = xw.App(visible=True,add_book=False)
example = app.books.open('./xlwings/ex.xlsx')
sheet = example.sheets[0]
for jj in range(1,10):
loc = ii+str(jj)
sheet.range(loc).value = jj
example.save()
example.close()
time.sleep(2)
app.quit()
Book方式打开
abc = ['A','B','C']
for ii in abc:
example2 = xw.Book('./xlwings/ex2.xlsx')
sheet2 = example2.sheets[0]
for jj in range(1,10):
loc = ii+str(jj)
sheet2.range(loc).value = jj
example2.save()
example2.close()
在使用Book方式打开的过程中,发现循环三次,程序会打开三个Excel窗口:
那么也就是说,在多次处理文件中,App.books.open方式打开可以控制在一个excel窗口,Book方式则会打开多个窗口。