欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python用 xlwings库对Excel进行 字体、边框设置、合并单元格, 版本转换等操作

程序员文章站 2024-02-24 13:31:28
...

xlwings 其他的一些单元格读取写入操作网上很多,
下面就写些如何设置单元格的 字体对齐,字体大小、边框, 合并单元格, 这些设置。

import xlwings as xw

app = xw.App(visible=True, add_book=False)
wb = app.books.add()
sht = wb.sheets.active

b3 = sht.range('b3')

"""设置单元格大小"""
sht.autofit()    # 自动调整单元格大小。
sht.range(1,4).column_width = 5    # 设置第4列 列宽。(1,4)为第1行第4列的单元格
sht.range(1,4).row_height = 20     # 设置第1行 行高

"""设置单元格 字体格式"""
b3.color = 255,200,255         # 设置单元格的填充颜色
b3.api.Font.ColorIndex = 3     # 设置字体的颜色,具体颜色索引见下方。
b3.api.Font.Size = 24          # 设置字体的大小。
b3.api.Font.Bold = True        # 设置为粗体。
b3.api.HorizontalAlignment = -4108    # -4108 水平居中。 -4131 靠左,-4152 靠右。
b3.api.VerticalAlignment = -4130      # -4108 水平居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。

"""设置边框"""
# Borders(9) 底部边框,LineStyle = 1 直线。
b3.api.Borders(9).LineStyle = 1
b3.api.Borders(9).Weight = 3                # 设置边框粗细。

# Borders(7) 左边框,LineStyle = 2 虚线。
b3.api.Borders(7).LineStyle = 2
b3.api.Borders(7).Weight = 3

# Borders(8) 顶部框,LineStyle = 5 双点划线。
b3.api.Borders(8).LineStyle = 5
b3.api.Borders(8).Weight = 3

# Borders(10) 右边框,LineStyle = 4 点划线。
b3.api.Borders(10).LineStyle = 4
b3.api.Borders(10).Weight = 3

# Borders(5) 单元格内从左上角 到 右下角。
b3.api.Borders(5).LineStyle = 1
b3.api.Borders(5).Weight = 3

# Borders(6) 单元格内从左下角 到 右上角。
b3.api.Borders(6).LineStyle = 1
b3.api.Borders(6).Weight = 3

"""如果是一个区域的单元格,内部边框设置如下"""
# # Borders(11) 内部垂直边线。
# b3.api.Borders(11).LineStyle = 1
# b3.api.Borders(11).Weight = 3
# 
# # Borders(12) 内部水平边线。
# b3.api.Borders(12).LineStyle = 1
# b3.api.Borders(12).Weight = 3

"""合并拆分单元格"""
sht.range('C8:D8').api.merge()      # 合并单元格 C8 到 D8
sht.range('C8:D8').api.unmerge()    # 拆分单元格。

"""插入、读取公式"""
sht.range('d1').formula = '=sum(e1+f1)'    # 插入公式
print(sht.range('d1').formula)

wb.save()
#wb.close()
#app.quit()

颜色索引:
无色 = -4142,   自动 = -4105,  黑色 = 1,
白色 = 2 ,    红色 = 3,    鲜绿 = 4,
蓝色 = 5 ,    黄色 = 6,    粉红 = 7,
青绿 = 8 ,    深红 = 9,    绿色 = 10,
深蓝 = 11,    深黄 = 12 ,   紫罗兰 = 13,
青色 = 14,    灰色25 = 15,  褐色 = 53,
橄榄 = 52,    深绿 = 51,   深青 = 49,
靛蓝 = 55,    灰色80 = 56,  橙色 = 46,
蓝灰 = 47,    灰色50 = 16,  浅橙色 = 45,
酸橙色 = 43,   海绿 = 50,    水绿色 = 42,
浅蓝 = 41,     灰色40 = 48,   金色 = 44,
天蓝 = 33,     梅红 = 54,   玫瑰红 = 38,
茶色 = 40,    浅黄 = 36,   浅绿 = 35,
浅青绿 = 34,   淡蓝 = 37,   淡紫 = 39,

EXcel 版本转换

import xlwings as xw

file_name = '2222.xls'
new_name = file_name+'x'

app = xw.App(visible=False, add_book=False)
app.display_alerts = False
wb = app.books.open(file_name)   # 打开现有excel
wb.api.SaveAs(new_name, 51)      # 参数 51 为xlsx格式。56为 Excel 97-2003的xls版本
app.quit()