Python XlsxWriter - 边框



本节介绍如何应用和格式化单元格边框的外观以及文本框周围的边框。

使用单元格边框

add_format() 方法中控制单元格边框外观的属性如下表所示:

描述 属性 方法
单元格边框 'border' set_border()
底部边框 'bottom' set_bottom()
顶部边框 'top' set_top()
左边框 'left' set_left()
右边框 'right' set_right()
边框颜色 'border_color' set_border_color()
底部颜色 'bottom_color' set_bottom_color()
顶部颜色 'top_color' set_top_color()
左侧颜色 'left_color' set_left_color()
右侧颜色 'right_color' set_right_color()

请注意,对于 add_format() 方法的每个属性,都存在一个相应的格式类方法,该方法以 set_propertyname() 方法开头。

例如,要设置单元格周围的边框,我们可以使用 add_format() 方法中的 border 属性,如下所示:

f1= wb.add_format({ 'border':2})

相同的操作也可以通过调用 set_border() 方法来完成:

f1 = workbook.add_format()
f1.set_border(2)

可以通过属性或格式方法配置各个边框元素,如下所示:

  • set_bottom()
  • set_top()
  • set_left()
  • set_right()

这些边框方法/属性具有与下表中预定义样式相对应的整数值:

索引 名称 权重 样式
0 0
1 实线 1 -----------
2 实线 2 -----------
3 虚线 1 - - - - - -
4 点线 1 . . . . . .
5 实线 3 -----------
6 双线 3 ===========
7 实线 0 -----------
8 虚线 2 - - - - - -
9 点划线 1 - . - . - .
10 点划线 2 - . - . - .
11 点点划线 1 - . . - . .
12 点点划线 2 - . . - . .
13 斜点划线 2 / - . / - .

示例

以下代码显示了如何使用 border 属性。此处,每一行都具有与连续粗体相对应的边框样式 2。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

f1=wb.add_format({'bold':True, 'border':2, 'border_color':'red'})
f2=wb.add_format({'border':2, 'border_color':'red'})

headings = ['Month', 'Product A', 'Product B']

data = [
   ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'June'],
   [10, 40, 50, 20, 10, 50],
   [30, 60, 70, 50, 40, 30],
]

ws.write_row('A1', headings, f1)
ws.write_column('A2', data[0], f2)
ws.write_column('B2', data[1],f2)
ws.write_column('C2', data[2],f2)

wb.close()

输出

工作表显示单元格周围的粗体边框。

Cell Border

使用文本框边框

边框属性也适用于文本框对象。文本框还有一个 line 属性,它类似于 border,因此它们可以互换使用。边框本身可以通过 none、颜色、宽度和 dash_type 参数进一步格式化。

将 Line 或 Border 设置为 none 表示文本框将没有任何边框。dash_type 参数可以是以下任何值:

  • 实线
  • 圆点
  • 方点
  • 虚线
  • 点划线
  • 长虚线
  • 长点划线
  • 长点点划线

示例

这是一个显示两个文本框的程序,一个带有红色实线边框;第二个框具有蓝色 dash_dot 类型边框。

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
ws = wb.add_worksheet()

ws.insert_textbox('B2', 'Welcome to Tutorialspoint',
{'border': {'color': '#FF9900'}})

ws.insert_textbox('B10', 'Welcome to Tutorialspoint', {
   'line':
   {'color': 'blue', 'dash_type': 'dash_dot'}
})
wb.close()

输出

输出工作表显示文本框边框。

Textbox Borders
广告

© . All rights reserved.