python:处理Excel中的行,列和单元格
调整多个工作簿的行高和列宽
import xlwings as xw
import os
#调整行高和列宽
def demo_Func6():
file_path='C:\\Users\\14486\\Desktop\\测试文件\\左'
file_list=os.listdir(file_path)
app = xw.App(visible=False, add_book=False)#设置不可见
for i in file_list:
if i.startswith('~$'):
continue
file_paths=os.path.join(file_path,i)#将文件夹和文件名拼接成工作簿的完整路径
workbook=app.books.open(file_paths)#打开要调整行高和列宽的工作簿
for j in workbook.sheets:
value=j.range('A1').expand('table')#在工作表中选择要调整行高和列宽的单元格区域
value.column_width=12#将列宽调整为可容纳12个字符的宽度
value.row_height=20#将行高调整为20
workbook.save()
workbook.close
app.quit()
更改以及数据外观格式
#更改数据以及外观格式
def demo_Func7():
file_path='C:\\Users\\14486\\Desktop\\测试文件\\左'
file_list=os.listdir(file_path) #列出文件夹下所有文件夹路径
app = xw.App(visible=False, add_book=False)#设置不可见
for i in file_list:
if i.startswith('~$'):
continue
file_paths = os.path.join(file_path, i) # 将文件夹和文件名拼接成工作簿的完整路径
workbook = app.books.open(file_paths) # 打开要调整行高和列宽的工作簿
for j in workbook.sheets:
row_num=j['A1'].current_region.last_cell.row #获取工作表中数据区域最后一行行号
j['A2:A{}'.format(row_num)].number_format='m/d'#将A列的”采购日期“数据全部更改为“月/日”格式
j['D2:D{}'.format(row_num)].number_format='¥##,##0.00'#将D列的“采购金额”数据全部更改为带货币符号和两位小数的格式
#其他
j['A1:H1'].api.Font.Name='宋体'#设置工作表标题行的字体为宋体
j['A1:H1'].api.Font.Size = 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,0,0))#设置工作表标题行的单元格填充颜色为黑色
j['A1:H1'].api.HorizontalAlignment=xw.contants.HAlign.xlHAlignCenter#设置工作表标题行的水平对齐方式为“居中”
j['A1:H1'].api.VerticalAlignment=xw.constants.VAlign.xlVAlignCenter#设置工作表标题行的垂直对齐方式为“居中”
j['A2'].expand('table').api.Font.Name='宋体'#设置工作表的正文字体为“宋体”
j['A2'].expand('table').api.Font.Size = 10 #改变正文字体的大小
j['A2'].expand('table').api.HorizontalAlignment=xw.contants.HAlign.xlHAlignLeft#水平对齐方式为靠左
j['A2'].expand('table').api.VerticalAlignment=xw.constants.VAlign.xlVAlignCenter#垂直对齐方式为居中
for cell in j['A1'].expand('table'):#为工作表添加合适粗细的边框
for b in range(7,12):
cell.api.Borders(b).LineStyle=1#设置单元格的边框线型
cell.api.Borders(b).Weight=2#设置单元格的边框粗细
workbook.save()
workbook.close()
app.quit()

浙公网安备 33010602011771号