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 определяющим тип геометрической фигуры.
| Name | Type | Access | Description |
|---|---|---|---|
upper_left_row | `` | Read/Write | Gets or sets the upper left row. |
upper_left_column | `` | Read/Write | Gets or sets the upper left column. |
lower_right_row | `` | Read/Write | Gets or sets the lower right row. |
lower_right_column | `` | Read/Write | Gets or sets the lower right column. |
upper_left_row_offset | `` | Read/Write | Gets or sets the upper left row offset. |
upper_left_column_offset | `` | Read/Write | Gets or sets the upper left column offset. |
lower_right_row_offset | `` | Read/Write | Gets or sets the lower right row offset. |
lower_right_column_offset | `` | Read/Write | Gets or sets the lower right column offset. |
name | `` | Read | Gets the name. |
drawing_type | `` | Read | Gets the drawing type. |
fill | `` | Read | Gets the fill. |
line | `` | Read | Gets the line. |
text | `` | Read | Gets the text. |
font | `` | Read | Gets the font. |
text_horizontal_alignment | `` | Read | Gets the text horizontal alignment. |
text_vertical_alignment | `` | Read | Gets the text vertical alignment. |
is_text_wrapped | `` | Read | Gets the is text wrapped. |
is_locked | `` | Read | Gets the is locked. |
is_hidden | `` | Read | Gets the is hidden. |
placement | `` | Read | Gets the placement. |
hyperlink | `` | Read | Gets the hyperlink. |
FillType
FillType является IntEnum определяющим тип заливки, применяемой к фигуре.
| Signature | Description |
|---|---|
__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")