Shape — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss podržava dodavanje geometrijskih oblika i tekstualnih okvira u radne listove putem ShapeCollection (ws.shapes). Svaki oblik je predstavljen kao Shape objekat sa konfigurisanim svojstvima popunjavanja, linije i teksta.

: aspose.cells_foss

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

MsoDrawingType

MsoDrawingType je IntEnum koji identifikuje tip geometrijskog oblika.

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 je IntEnum koji identifikuje tip popunjavanja primenjenog na oblik.

NONE0
SOLID1
GRADIENT2
PATTERN3
AUTOMATIC4

MsoLineDashStyle

MsoLineDashStyle je IntEnum za šablon isprekidane linije ivice/okvira.

SOLID0
DASH1
DOT2
DASH_DOT3
DASH_DOT_DOT4
LONG_DASH5
LONG_DASH_DOT6

TextAlignmentType

TextAlignmentType je IntEnum za horizontalno poravnanje teksta unutar oblika.

LEFT0
CENTER1
RIGHT2
JUSTIFY3
DISTRIBUTED4

TextAnchorType

TextAnchorType je IntEnum za vertikalno sidrenje teksta unutar oblika.

TOP0
MIDDLE1
BOTTOM2
JUSTIFIED3

MsoFillFormat

Upravlja izgledom popunjavanja oblika. Pristupa se putem shape.fill.

fill_typeFillTypeAktivni tip popunjavanja.
fore_colorstrBoja popunjavanja u prvom planu (primarna) u RRGGBB heks formatu.
transparencyfloatNeprozirnost popunjavanja kao vrednost od 0.0 (potpuno neprozirno) do 1.0 (potpuno prozirno).

copy

fill.copy() -> MsoFillFormat

Vraća duboku kopiju ovih postavki popunjavanja.


MsoLineFormat

Upravlja izgledom konture/ivice oblika. Pristupa se putem shape.line.

is_visibleboolTrue za crtanje konture oblika.
colorstrBoja konture u RRGGBB heks formatu.
weightintDebljina konture (debljina) u tačkama.
dash_styleMsoLineDashStyleŠablon crtice za konturu.
transparencyfloatNeprozirnost konture od 0.0 (neprovidan) do 1.0 (transparentan).

copy

line.copy() -> MsoLineFormat

Vraća duboku kopiju ovih postavki linije.


ShapeFont

Upravlja fontom teksta unutar oblika. Dostupno putem shape.font.

namestrNaziv porodice fonta (npr., "Calibri").
sizefloatVeličina fonta u tačkama.
boldboolTrue za podebljani stil.
italicboolTrue za kurzivni stil.
underlineboolTrue za jednostruko podvlačenje.
colorstrBoja fonta kao RRGGBB heks.

copy

font.copy() -> ShapeFont

Vraća duboku kopiju ovih postavki fonta.


Shape objekti se ne konstrušu direktno. Koristite ws.shapes.add(...) ili ws.shapes.add_text_box(...).

namestrČitanje/UpisNaziv oblika (mora biti jedinstven unutar radnog lista).
drawing_typeMsoDrawingType
Geometrijski tip ovog oblika.
upper_left_rowintČitanje/Upis0-based row index of the top-left anchor cell.
upper_left_columnintČitanje/Pisanje0-based column index of the top-left anchor cell.
lower_right_rowintČitanje/Pisanje0-based row index of the bottom-right anchor cell.
lower_right_columnintČitanje/Pisanje0-based column index of the bottom-right anchor cell.
upper_left_row_offsetintČitanje/PisanjePiksel pomeraj od gornjeg ruba gornje leve ćelije.
upper_left_column_offsetintČitanje/PisanjePiksel pomeraj od levog ruba gornje leve ćelije.
lower_right_row_offsetintČitanje/PisanjePiksel pomak od gornjeg ruba donje desne ćelije.
lower_right_column_offsetintČitanje/PisanjePiksel pomak od levog ruba donje desne ćelije.
fillMsoFillFormat
Podešavanja popunjavanja (pozadine).
lineMsoLineFormat
Podešavanja konture/ivice.
textstrČitanje/PisanjeTekstualni sadržaj prikazan unutar oblika.
fontShapeFont
Podešavanja fonta za tekst oblika.
text_horizontal_alignmentTextAlignmentTypeČitanje/PisanjeHorizontalno poravnanje teksta unutar oblika.
text_vertical_alignmentTextAnchorTypeČitanje/PisanjeVertikalno usidravanje teksta unutar oblika.
is_text_wrappedboolČitanje/PisanjeTrue za prelamanje teksta na granici oblika.
is_lockedboolČitanje/PisanjeTrue za zaključavanje oblika kada je zaštita radnog lista aktivna.
is_hiddenboolČitanje/PisanjeTrue da sakrije oblik.
hyperlink`strNone`Čitanje/Pisanje

copy

shape.copy() -> Shape

Vraća duboku kopiju ovog oblika sa svim očuvanim formatiranjem.


ShapeCollection

ShapeCollection se pristupa kao ws.shapes. Sadrži sve oblike na radnom listu.

add

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

Dodaje oblik navedenog tipa. Svi argumenti položaja su indeksirani od 0 za red/kolonu.

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

Prečica za add(MsoDrawingType.TEXT_BOX, ...).

Svojstva i iteracija

countBroj oblika u kolekciji (samo za čitanje).
__len__()
count.
__iter__()Iterira kroz sve Shape objekte.
__getitem__(index)Vraća Shape na nultom indeksu index.

Dodaj pravougaonik sa jednobojnim popunjavanjem

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

Dodaj tekstualni okvir

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

Vidi i

 Српски