Python XlsxWriter - 文本框

在 Excel 中,文本框 是一个图形对象,可以放置在工作表的任何位置,并且可以根据需要四处移动。 所需的格式功能,如字体(颜色、大小、名称等)、对齐、填充效果、方向等可以应用于文本框中包含的文本。


使用 XlsxWriter – 文本框

在XlsxWriter 中,有insert_textbox() 方法可以在工作表上放置文本框。 必须给出文本框的单元格位置和要写入其中的文本。 此外,还以字典对象的形式给出了不同的格式化选项。

示例

以下代码在单元格 C5 处显示一个文本框,给定的字符串显示为具有字体和对齐属性,如下所示 −

import xlsxwriter

wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
text = 'Welcome to TutorialsPoint'

options = {'font': {'color': 'red','size': 14},
   'align': {'vertical': 'middle','horizontal': 'center'}}
worksheet.insert_textbox('C5', text, options)

wb.close()

输出

使用 Excel 应用程序打开工作表"hello.xlsx"。 文本框出现如下 −

文本框

文本框选项 – fill

文本框默认大小为 192X120 像素(对应 3 列 6 行)。 这个大小可以用宽度和高度参数来改变,两者都是以像素为单位的。 inset_textbox() 方法可接受的参数之一是 fill 参数。 它采用十六进制的预定义颜色名称或颜色表示作为值。

示例

以下代码在自定义大小的文本框中显示多行字符串,背景填充为红色。

import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
text = 'TutorialsPoint - Simple Easy Learning\nThe best resource for Online Education'

options = {
   'width': 384,
   'height':80,
   'font': {'color': 'blue', 'bold':True, 'size': 14},
   'align': {'vertical': 'middle', 'horizontal': 'center'},
   'fill':{'color':'red'},
}
worksheet.insert_textbox('C5', text, options)
wb.close()

如下图所示,单元格 C5 处呈现了一个多行文本框。

多行文本框

文本框选项 – text_rotation

另一个重要的属性是text_rotation。 默认情况下,文本水平显示。 如果需要,您可以通过给定角度作为其值来更改其方向。 看下面的选项。

import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
text = 'TutorialsPoint - Simple Easy Learning\nThe best resource for Online Education'

options = {
   'width': 128,
   'height':200,
   'font': {'bold':True, 'name':'Arial', 'size': 14},
   'text_rotation':90,
}
worksheet.insert_textbox('C5', text, options)
wb.close()

文本现在以垂直方向显示在文本框中。

文本旋转

object_position 参数控制文本框的行为。 它可以有以下可能的值及其作用 −

  • "1" − 使用单元格移动和调整大小(默认设置)。

  • "2" − 移动但不调整单元格大小。

  • "3" − 不要移动或调整单元格大小。