使用Python批量处理行、列和单元格
精确调整工作表的行高和列宽
步骤
- 打开工作簿。
- 遍历所有工作表
核心代码
for i in workbook.sheets:
value = i.range('A1').expand('table')
value.column_width = 12
value.row_height = 20
workbook.save()
批量更改多个工作簿的数据格式
步骤:
- 列出文件夹中所有子文件
- 遍历打开子文件
- 遍历工作表
- 获取工作表的最后一行
- 将指定列从上到下修改
核心代码
#遍历工作表
for j in workbook.sheets:
# 获取最后一行
row_num = j['A1'].current_region.last_cell.row
# 数据格式修改
j['A2:A{}'.format(row_num)].number_format = 'm/d'
j['D2:D{}'.format(row_num)].number_format = '¥#,##0.00'
workbook.save()
workbook.close()
使用xwings模块中的number format属性来设置单元格区域中数据的格式。该属性的取值为一个代表特定格式的字符串,与Excel的“设置单元格格式”
对话框中“数字”选项卡下设置的格式对应。
批量更改工作簿的外观格式
难点应该是外观格式如何更改了吧,这里介绍一些常用的外观格式。
j 是工作表设置字体格式
修改字体为宋体
j['A1:H1'].api.Font.Name = '宋体'
修改字号
j['A1:H1'].api.Font.Size= 10 # 10磅
字体加粗
j['A1:H1'].api.Font.Bold= True
字体颜色
# 白色
j['A1:H1'].api.Font.Color= xw.utils.rgb_to_int((255,255,255))
单元格填充颜色
# 填充颜色为黑色
j['A1:H1'].Color= xw.utils.rgb_to_int((0