(๑•͈ᴗ•͈)❀送花给你

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()
posted @ 2021-10-15 21:13  胸前小红花  阅读(187)  评论(0)    收藏  举报