利用xlwings库对excel进行字体(font)、边框(border)、合并单元格(merge)等格式设置

2020/04 20 22:04
阅读(14903)

前面介绍了利用python的xlwings库对excel进行新建、打开及对工作表、单元格区域等操作,本篇这里介绍利用xlwings对excel进行字体(font)、边框(border)、合并(merge)单元格等excel格式的设置,让生成的表格更加漂亮。

先生成一个excel工作薄(book),获得当前活动的工作表(sheet):

 
import xlwings as xw

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

xlwings设置excel单元格大小(行高与列宽):

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

xlwings设置excel单元格字体(font)格式:

 
"""设置单元格 字体格式"""
cell.color = 255,200,255         # 设置单元格的填充颜色
cell.api.Font.ColorIndex = 3     # 设置字体的颜色,具体颜色索引见下方。
cell.api.Font.Size = 24          # 设置字体的大小。
cell.api.Font.Bold = True        # 设置为粗体。
cell.api.NumberFormat = "0.00"     # 设置单元格的数字格式。
</code>
<!-- /wp:shortcode -->

<!-- wp:paragraph -->
<p><strong>xlwings设置excel单元格对齐方式:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:shortcode -->
 
"""设置单元格的对齐方式"""
cell.api.HorizontalAlignment = -4108    # -4108 水平居中。 -4131 靠左,-4152 靠右。
cell.api.VerticalAlignment = -4130      # -4108 垂直居中(默认)。 -4160 靠上,-4107 靠下, -4130 自动换行对齐。
alingment

xlwings设置excel单元格边框(border-linestyle):

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

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

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

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

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

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

如果选择的是一个区域(range),区域内部边框设置如下:

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

xlwings合并(merge)拆分(unmerge)单元格:

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

好了,xlwings对excel进行格式(字体font、边框boder、行高列宽、单元格合并merge)设置就介绍到这里,相信学会掌握上面的这些,就可以利用xlwings做出漂亮的excel表报.

o郭二爷o原创或整理--转载请注明: http://www.dszhp.com/xlwings-format.html

发表回复

欢迎回来 (打开)

(必填)