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()

这些边框方法/属性有一个整数值对应于下表中的预定义样式 −

Index Name Weight Style
0 None 0
1 Continuous 1 -----------
2 Continuous 2 -----------
3 Dash 1 - - - - - -
4 Dot 1 . . . . . .
5 Continuous 3 -----------
6 Double 3 ===========
7 Continuous 0 -----------
8 Dash 2 - - - - - -
9 Dash Dot 1 - . - . - .
10 Dash Dot 2 - . - . - .
11 Dash Dot Dot 1 - . . - . .
12 Dash Dot Dot 2 - . . - . .
13 SlantDash Dot 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()

输出

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

单元格边框

使用文本框边框

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

Line 或 border 设置为 none 意味着文本框将没有任何边框。 dash_type 参数可以是以下任何值 −

  • solid
  • round_dot
  • square_dot
  • dash
  • dash_dot
  • long_dash
  • long_dash_dot
  • long_dash_dot_dot

示例

这是一个显示两个文本框的程序,一个带有实心边框,红色; 第二个框有蓝色的 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()

输出

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

文本框边框