Python Xlsxwriter 简明教程

Python XlsxWriter - Border

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

Working with Cell Border

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

Description

Property

method

Cell border

'border'

set_border()

Bottom border

'bottom'

set_bottom()

Top border

'top'

set_top()

Left border

'left'

set_left()

Right border

'right'

set_right()

Border color

'border_color'

set_border_color()

Bottom color

'bottom_color'

set_bottom_color()

Top color

'top_color'

set_top_color()

Left color

'left_color'

set_left_color()

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

各个边框元素可以通过以下属性或格式方法进行配置 -

  1. set_bottom()

  2. set_top()

  3. set_left()

  4. set_right()

这些边框方法/属性具有一个整数值,该值对应于预定义的样式,如下表所示 -

Index

Name

Weight

Style

0

None

0

1

Continuous

1

-----------

2

Continuous

2

-----------

3

Dash

1

- - - - - -

4

Dot

1

[style="arabic"]. . . . . .

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

/ - . / - .

Example

以下代码显示了边框属性是如何使用的。此处,每行都有一个对应于连续加粗的边框样式 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()

Output

工作表在单元格周围显示一个加粗边框。

cell border

Working with Textbox Border

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

设置为 none 的行或边框表示文本框没有边框。 dash_type 参数可以是以下任意值 −

  1. solid

  2. round_dot

  3. square_dot

  4. dash

  5. dash_dot

  6. long_dash

  7. long_dash_dot

  8. long_dash_dot_dot

Example

这是一个显示两个文本框的程序,其中一个具有蓝色实心边框,而第二个盒子具有蓝色 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()

Output

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

textbox borders