基本使用
# 使用
1、获取工作表:sht = wb.sheets['表名'] or sht = wb.books['1.xlsx'].sheets['表名']
输出工作表名称:print(sht.name)
2、向单元格写入值:sht.range(' '). value = "python知识学堂"
3、获取某个单元格的值 sht.range(row,column).value
4、使用的总行列数 sht.used_range.shape 返回的是一个行、列数的元组(row, column)
5、清空工作表内容和格式 sht.clear(); 清空内容,保留格式:sht.clear_content()
# 范围
range_1 = wb.sheets[0].range('A1:D3')
range_1.value [[],[],[]] 是列表中嵌列表,按行
写入值
wb.sheets[0].range('A1').options(transpose=True).value=[1,2,3,4] transpose为True转置
将二维数组写入 A1:B3中 wb.sheets[0].range('A1').options(expand='table').value=[[1,2],[3,4],[5,6]]
apps books sheets
定义区分:
- 当前打开的工作簿
比如打开了xie1.xlsx, xie2.xlsx,那么这两个就是当前打开的工作簿 - 当前活跃的工作簿
比如将光标放在某个工作簿的某个工作表的单元格中,这个工作簿就是当前活跃的工作簿
xw.apps
返回一个Apps,各子元素为App
>>> Apps([<Excel App 1668>, <Excel App 1644>])
xw.books
连接活动app实例中的工作簿,返回一个Books, 各子元素为当前打开的工作簿Book
>>> Books([<Book [xie1.xlsx]>, <Book [xie2.xlsx]>])
sheets
连接活动工作簿实例中的工作表,返回一个Sheets,子元素为当前活跃的工作簿的所有工作表Sheet
xw.sheets
>>> Sheets([<Sheet [xie2.xlsx]Sheet1>, <Sheet [xie2.xlsx]Sheet2>, <Sheet [xie2.xlsx]Sheet3>])
使用
- 不用工作簿对象,也可以能在一个活动工作表中读写数据
import xlwings as xw
xw.Range('A1').value = 'something'
- 活动对象
# Active app (i.e. Excel instance)
>>> app = xw.apps.active
# Active book
>>> wb = xw.books.active # in active app
>>> wb = app.books.active # in specific app
# Active sheet
>>> sheet = xw.sheets.active # in active book
>>> sheet = wb.sheets.active # in specific book
# Range on active sheet
>>> xw.Range('A1') # on active sheet of active book of active app
- 对象的完全限定
圆括号与方括号都可以正常使用
xw.apps[763].books['Book1'].sheets['Sheet1'].range('A1')
xw.apps(10559).books('Book1').sheets('Sheet1').range('A1')