xlwings(App.books.open/Book方式打开文件)

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方式则会打开多个窗口。

 
 
 
原文地址:https://www.cnblogs.com/Renyi-Fan/p/13218184.html