Shape

Shape — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss 支持通过以下方式向工作表添加几何形状和文本框 ShapeCollection (ws.shapes). 每个形状由一个 Shape 对象,具有可配置的填充、线条和文本属性。.

Properties: aspose.cells_foss

from aspose.cells_foss import (
    MsoDrawingType, FillType, MsoLineDashStyle,
    TextAlignmentType, TextAnchorType,
    MsoFillFormat, MsoLineFormat, ShapeFont, Shape,
)

MsoDrawingType

MsoDrawingType 是一个 IntEnum 用于标识几何形状类型的.

PropertiesPropertiesPropertiesProperties
UNKNOWN0TEXT_BOX21
RECTANGLE1CALLOUT22
ROUNDED_RECTANGLE2PENTAGON23
OVAL3CLOUD24
DIAMOND4HEART25
TRIANGLE5LIGHTNING_BOLT26
RIGHT_TRIANGLE6SMILEY_FACE27
PARALLELOGRAM7LEFT_RIGHT_ARROW28
TRAPEZOID8UP_DOWN_ARROW29
HEXAGON9CUBE30
OCTAGON10BEVEL31
CROSS11STAR_412
RIGHT_ARROW17STAR_513
LEFT_ARROW18STAR_614
UP_ARROW19STAR_715
DOWN_ARROW20STAR_816

FillType

FillType 是一个 IntEnum 用于标识形状所应用的填充类型的.

PropertiesProperties
NONE0
SOLID1
GRADIENT2
PATTERN3
AUTOMATIC4

MsoLineDashStyle

MsoLineDashStyle 是一个 IntEnum 用于边框/轮廓线虚线模式的.

PropertiesProperties
SOLID0
DASH1
DOT2
DASH_DOT3
DASH_DOT_DOT4
LONG_DASH5
LONG_DASH_DOT6

TextAlignmentType

TextAlignmentType 是一个 IntEnum 用于形状内部水平文本对齐的.

PropertiesProperties
LEFT0
CENTER1
RIGHT2
JUSTIFY3
DISTRIBUTED4

TextAnchorType

TextAnchorType 是一个 IntEnum 用于形状内部垂直文本锚定的.

PropertiesProperties
TOP0
MIDDLE1
BOTTOM2
JUSTIFIED3

MsoFillFormat

控制形状的填充外观。通过以下方式访问 shape.fill.

Properties

PropertiesPropertiesProperties
fill_typeFillType当前活动的填充类型。.
fore_colorstr前景(主要)填充颜色,使用 RRGGBB 十六进制表示。.
transparencyfloat填充不透明度为一个值,从 0.0 (完全不透明)到 1.0 (完全透明)。.

Properties

copy

fill.copy() -> MsoFillFormat

返回这些填充设置的深拷贝。.


MsoLineFormat

控制形状的轮廓/边框外观。通过 shape.line.

Properties

PropertiesPropertiesProperties
is_visibleboolTrue 用于绘制形状轮廓。.
colorstr轮廓颜色使用 RRGGBB 十六进制表示。.
weightint轮廓粗细(厚度),单位为点。.
dash_styleMsoLineDashStyle轮廓的虚线模式。.
transparencyfloat轮廓不透明度从 0.0 (不透明)到 1.0 (透明)。.

Properties

copy

line.copy() -> MsoLineFormat

返回这些线条设置的深拷贝。.


ShapeFont

控制形状内文本的字体。通过以下方式访问 shape.font.

Properties

PropertiesPropertiesProperties
namestr字体族名称(例如,., "Calibri").
sizefloat字体大小,单位为点。.
boldboolTrue 用于加粗。.
italicboolTrue 用于斜体。.
underlineboolTrue 用于单下划线。.
colorstr字体颜色使用 RRGGBB 十六进制表示。.

Properties

copy

font.copy() -> ShapeFont

返回这些字体设置的深拷贝。.


Properties

Shape 对象不能直接构造。请使用 ws.shapes.add(...)ws.shapes.add_text_box(...).

Properties

PropertiesPropertiesPropertiesProperties
namestr读/写形状名称(必须在工作表中唯一)。.
drawing_typeMsoDrawingTypeProperties此形状的几何类型。.
upper_left_rowint读/写0-based row index of the top-left anchor cell.
upper_left_columnint读/写0-based column index of the top-left anchor cell.
lower_right_rowint读/写0-based row index of the bottom-right anchor cell.
lower_right_columnint读/写0-based column index of the bottom-right anchor cell.
upper_left_row_offsetint读/写像素偏移量,从左上单元格的顶部边缘算起。.
upper_left_column_offsetint读/写像素偏移量,从左上单元格的左侧边缘算起。.
lower_right_row_offsetint读/写像素偏移量,从右下单元格的顶部边缘算起。.
lower_right_column_offsetint读/写像素偏移量,从右下单元格的左侧边缘算起。.
fillMsoFillFormatProperties填充(背景)设置。.
lineMsoLineFormatProperties轮廓/边框设置。.
textstr读/写形状内部显示的文本内容。.
fontShapeFontProperties形状文本的字体设置。.
text_horizontal_alignmentTextAlignmentType读/写形状内部的水平文本对齐。.
text_vertical_alignmentTextAnchorType读/写形状内部的垂直文本锚定。.
is_text_wrappedbool读/写True 用于在形状边界换行文本。.
is_lockedbool读/写True 用于在工作表保护激活时锁定形状。.
is_hiddenbool读/写True 用于隐藏形状。.
hyperlink`strNone`读/写

Properties

copy

shape.copy() -> Shape

返回此形状的深拷贝,保留所有格式设置。.


ShapeCollection

ShapeCollection 可访问为 ws.shapes. 它包含工作表上的所有形状。.

Properties

add

ws.shapes.add(
    drawing_type: MsoDrawingType,
    upper_left_row: int,
    upper_left_column: int,
    lower_right_row: int,
    lower_right_column: int
) -> Shape

添加指定类型的形状。所有位置参数均为从 0 开始的行/列索引。.

add_text_box

ws.shapes.add_text_box(
    upper_left_row: int,
    upper_left_column: int,
    lower_right_row: int,
    lower_right_column: int
) -> Shape

快捷方式 add(MsoDrawingType.TEXT_BOX, ...).

属性和迭代

PropertiesProperties
count集合中形状的数量(只读)。.
__len__()Properties count.
__iter__()遍历所有 Shape 对象。.
__getitem__(index)返回 Shape (基于零索引) index.

Properties

添加实心填充的矩形

from aspose.cells_foss import Workbook, MsoDrawingType, FillType, MsoLineDashStyle, TextAlignmentType

wb = Workbook()
ws = wb.worksheets[0]

# Add a blue rectangle spanning rows 1-5, columns 1-4 (0-based)
rect = ws.shapes.add(MsoDrawingType.RECTANGLE, 1, 1, 5, 4)
rect.name = "BlueBox"

rect.fill.fill_type = FillType.SOLID
rect.fill.fore_color = "4472C4"      # blue
rect.fill.transparency = 0.0

rect.line.is_visible = True
rect.line.color = "1F3864"           # dark blue
rect.line.weight = 2
rect.line.dash_style = MsoLineDashStyle.SOLID

rect.text = "Sales Summary"
rect.font.bold = True
rect.font.color = "FFFFFF"           # white text
rect.font.size = 12
rect.text_horizontal_alignment = TextAlignmentType.CENTER

wb.save("shapes.xlsx")

添加文本框

from aspose.cells_foss import Workbook

wb = Workbook()
ws = wb.worksheets[0]

tb = ws.shapes.add_text_box(2, 0, 5, 3)
tb.name = "NoteBox"
tb.text = "Review this section before publishing."
tb.font.italic = True
tb.font.color = "595959"
tb.is_text_wrapped = True
tb.line.is_visible = True
tb.line.color = "BFBFBF"

wb.save("textbox.xlsx")

另见

 中文