Shape

Shape — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss підтримує додавання геометричних фігур та текстових полів до робочих листів через the ShapeCollection (ws.shapes). Кожна фігура представлена Shape об’єктом з налаштовуваними властивостями заливки, лінії та тексту.

Enumerations: aspose.cells_foss

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

MsoDrawingType

MsoDrawingType є IntEnum ідентифікатором типу геометричної фігури.

EnumerationsEnumerationsEnumerationsEnumerations
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 ідентифікатором типу заливки, застосованої до фігури.

EnumerationsEnumerations
NONE0
SOLID1
GRADIENT2
PATTERN3
AUTOMATIC4

MsoLineDashStyle

MsoLineDashStyle є IntEnum для шаблону пунктирної лінії межі/контур.

EnumerationsEnumerations
SOLID0
DASH1
DOT2
DASH_DOT3
DASH_DOT_DOT4
LONG_DASH5
LONG_DASH_DOT6

TextAlignmentType

TextAlignmentType є IntEnum для горизонтального вирівнювання тексту всередині форми.

EnumerationsEnumerations
LEFT0
CENTER1
RIGHT2
JUSTIFY3
DISTRIBUTED4

TextAnchorType

TextAnchorType є IntEnum для вертикального прив’язування тексту всередині форми.

EnumerationsEnumerations
TOP0
MIDDLE1
BOTTOM2
JUSTIFIED3

MsoFillFormat

Керує зовнішнім виглядом заповнення форми. Доступно через shape.fill.

Enumerations

EnumerationsEnumerationsEnumerations
fill_typeFillTypeАктивний тип заповнення.
fore_colorstrКолір переднього (основного) заповнення у форматі шістнадцяткових RRGGBB.
transparencyfloatНепрозорість заливки як значення від 0.0 (повністю непрозорий) до 1.0 (повністю прозорий).

Enumerations

копіювати

fill.copy() -> MsoFillFormat

Повертає глибоку копію цих налаштувань заповнення.


MsoLineFormat

Керує зовнішнім виглядом контуру/рамки форми. Доступно через shape.line.

Enumerations

EnumerationsEnumerationsEnumerations
is_visibleboolTrue для малювання контуру форми.
colorstrКолір контуру у форматі RRGGBB hex.
weightintТовщина контуру (ширина) у пунктах.
dash_styleMsoLineDashStyleШтриховий шаблон для контуру.
transparencyfloatНепрозорість контуру від 0.0 (непрозорий) до 1.0 (прозорий).

Enumerations

копіювати

line.copy() -> MsoLineFormat

Повертає глибоку копію цих налаштувань лінії.


ShapeFont

Керує шрифтом тексту всередині форми. Доступно через shape.font.

Enumerations

EnumerationsEnumerationsEnumerations
namestrНазва сімейства шрифту (наприклад,., "Calibri").
sizefloatРозмір шрифту в пунктах.
boldboolTrue для жирного начертання.
italicboolTrue для курсивного стилю.
underlineboolTrue для одинарного підкреслення.
colorstrКолір шрифту у вигляді шістнадцяткового RRGGBB.

Enumerations

копіювати

font.copy() -> ShapeFont

Повертає глибоку копію цих налаштувань шрифту.


Enumerations

Shape об’єкти не створюються безпосередньо. Використовуйте ws.shapes.add(...) або ws.shapes.add_text_box(...).

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
namestrЧитання/ЗаписНазва форми (повинна бути унікальною в межах листа).
drawing_typeMsoDrawingTypeEnumerationsГеометричний тип цієї форми.
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Читання/ЗаписПіксельне зміщення від лівого краю нижньо‑правої клітинки.
fillMsoFillFormatEnumerationsНалаштування заповнення (фону).
lineMsoLineFormatEnumerationsНалаштування контуру/рамки.
textstrЧитання/ЗаписТекстовий вміст, що відображається всередині форми.
fontShapeFontEnumerationsНалаштування шрифту для тексту форми.
text_horizontal_alignmentTextAlignmentTypeЧитання/ЗаписГоризонтальне вирівнювання тексту всередині форми.
text_vertical_alignmentTextAnchorTypeЧитання/ЗаписВертикальне прив’язування тексту всередині форми.
is_text_wrappedboolЧитання/ЗаписTrue для перенесення тексту по межі форми.
is_lockedboolЧитання/ЗаписTrue для блокування форми, коли захист аркуша активний.
is_hiddenboolЧитання/ЗаписTrue щоб приховати форму.
hyperlink`strNone`Читання/Запис

Enumerations

копіювати

shape.copy() -> Shape

Повертає глибоку копію цієї фігури зі збереженням усіх форматувань.


ShapeCollection

ShapeCollection доступний як ws.shapes. Він містить усі форми на аркуші.

Enumerations

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, ...).

Властивості та ітерація

EnumerationsEnumerations
countКількість форм у колекції (лише для читання).
__len__()Enumerations count.
__iter__()Перебирає всі Shape об’єкти.
__getitem__(index)Повертає Shape з нульовим індексом index.

Enumerations

Додати прямокутник зі суцільним заповненням

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

Див. також

 Українська