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

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 窗口;
xlwings(App.books.open/Book 方式打开文件)

那么也就是说,在多次处理文件中,App.books.open 方式打开可以控制在一个 excel 窗口,Book 方式则会打开多个窗口。