openpyxl跨平台比较好Windows和Linux通用
Workbook对象(工作簿)
Workbook = load_workbook(filename = 'openpyxl_demo.xlsx')
说明 | 代码 | 类型 |
返回激活中的工作表 | active | 返回Worksheet对象 |
新建一个工作表 | create_chartsheet(title=None, index=None) | |
关闭工作簿 | close() | |
保存工作簿 | save(filename) | filename必须 |
返回全部工作表的名字 | sheetnames | 返回一个字符串列表 |
返回一个工作表 | get_sheet_by_name(name) 已弃用,使用:wb[sheetname](表名区分大小写) | 返回Worksheet对象 |
返回工作表的序号 | index(wb.active) | 返回int |
删除工作表 | remove(worksheet) |
Worksheet对象(工作表)
worksheet = Workbook['range names']
说明 | 代码 | 类型 |
返回一个单元格 | cell(row, column, value=None) | 返回Range对象,下标从1开始 |
返回选中的单元格 | selected_cell | 返回Range对象 |
返回正在编辑的单元格 | active_cell | 返回Range对象 |
返回全部值 | values | generator,按行 |
插入一或多列 | insert_cols(idx, amount=1) | amount为数量 |
插入一或多行 | insert_rows(idx, amount=1) | amount为数量 |
返回有效数据的最后行号 | max_row | int |
返回有效数据的最后列号 | max_column | int |
返回有效数据的第一行号 | min_row | int |
返回有效数据的第一列号 | min_column | int |
iter_cols(min_col=None, max_col=None, min_row=None, max_row=None, values_only=False)
按列返回一个矩形区域
iter_rows(min_row=None, max_row=None, min_col=None, max_col=None, values_only=False)
按行返回一个矩形区域
sh = wb["Sheet1"]
rge = sh.iter_cols(min_col=3, max_col=6, min_row=3, max_row=6, values_only=False)
for i in rge:
for j in i:
print(j)
返回结果:
<Cell 'Sheet1'.C3>
<Cell 'Sheet1'.C4>
<Cell 'Sheet1'.C5>
<Cell 'Sheet1'.C6>
<Cell 'Sheet1'.D3>
<Cell 'Sheet1'.D4>
<Cell 'Sheet1'.D5>
<Cell 'Sheet1'.D6>
<Cell 'Sheet1'.E3>
<Cell 'Sheet1'.E4>
<Cell 'Sheet1'.E5>
<Cell 'Sheet1'.E6>
<Cell 'Sheet1'.F3>
<Cell 'Sheet1'.F4>
<Cell 'Sheet1'.F5>
<Cell 'Sheet1'.F6>
Range对象(单元格)
range = worksheet["J2"]
说明 | 代码 | 类型 |
返回单元格列坐标 | col_idx 或 column | int |
返回单元格列坐标的英文 | column_letter | str |
返回单元格列坐标 | row | int |
返回单元格的注释 | comment | str |
返回单元格的地址 | coordinate | str |
返回单元格的数据类型 | data_type | str |
返回单元格的值(只读) | internal_value | |
返回或设置单元格的值 | value | |
单元格的相对单元格 | offset(row=0, column=0) | 返回Range对象 |
openpyxl里的单元格最多可以一行一行写,不能按数组或列表写入.