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()
上一篇: Python 文本进度条
下一篇: Java导入导出Excel