Shape

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

ImageRenderOptions: aspose.cells_foss

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

MsoDrawingType

MsoDrawingType является IntEnum определяющим тип геометрической фигуры.

NameTypeAccessDescription
upper_left_row``Read/WriteGets or sets the upper left row.
upper_left_column``Read/WriteGets or sets the upper left column.
lower_right_row``Read/WriteGets or sets the lower right row.
lower_right_column``Read/WriteGets or sets the lower right column.
upper_left_row_offset``Read/WriteGets or sets the upper left row offset.
upper_left_column_offset``Read/WriteGets or sets the upper left column offset.
lower_right_row_offset``Read/WriteGets or sets the lower right row offset.
lower_right_column_offset``Read/WriteGets or sets the lower right column offset.
name``ReadGets the name.
drawing_type``ReadGets the drawing type.
fill``ReadGets the fill.
line``ReadGets the line.
text``ReadGets the text.
font``ReadGets the font.
text_horizontal_alignment``ReadGets the text horizontal alignment.
text_vertical_alignment``ReadGets the text vertical alignment.
is_text_wrapped``ReadGets the is text wrapped.
is_locked``ReadGets the is locked.
is_hidden``ReadGets the is hidden.
placement``ReadGets the placement.
hyperlink``ReadGets the hyperlink.

FillType

FillType является IntEnum определяющим тип заливки, применяемой к фигуре.

SignatureDescription
__init__(drawing_type, upper_left_row, upper_left_column, lower_right_row, lower_right_column)
copy()Creates a duplicate of the shape object

MsoLineDashStyle

MsoLineDashStyle является IntEnum для шаблона пунктирной линии границы/контура.


TextAlignmentType

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


TextAnchorType

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


MsoFillFormat

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

ImageRenderOptions

ImageRenderOptions

copy

fill.copy() -> MsoFillFormat

Возвращает глубокую копию этих настроек заливки.


MsoLineFormat

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

ImageRenderOptions

ImageRenderOptions

copy

line.copy() -> MsoLineFormat

Возвращает глубокую копию этих настроек линии.


ShapeFont

Управляет шрифтом текста внутри фигуры. Доступно через shape.font.

ImageRenderOptions

ImageRenderOptions

copy

font.copy() -> ShapeFont

Возвращает глубокую копию этих настроек шрифта.


ImageRenderOptions

Shape объекты не создаются напрямую. Используйте ws.shapes.add(...) или ws.shapes.add_text_box(...).

ImageRenderOptions

ImageRenderOptions

copy

shape.copy() -> Shape

Возвращает глубокую копию этой фигуры со всеми сохранёнными форматированиями.


ShapeCollection

ShapeCollection доступно как ws.shapes. Содержит все объекты на листе.

ImageRenderOptions

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

Свойства и итерация


ImageRenderOptions

Добавить прямоугольник с сплошной заливкой

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

См. также

 Русский