Shape

Shape — Aspose.Cells FOSS for Python API Reference

aspose-cells-foss รองรับการเพิ่มรูปทรงเรขาคณิตและกล่องข้อความลงในแผ่นงานผ่าน the ShapeCollection (ws.shapes). แต่ละรูปทรงจะถูกแทนด้วย a Shape object ที่มีคุณสมบัติการเติม, เส้น, และข้อความที่สามารถกำหนดค่าได้.

Properties: aspose.cells_foss

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

MsoDrawingType

MsoDrawingType เป็น an 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 เป็น an IntEnum ที่ระบุประเภทของการเติมที่ใช้กับรูปทรง.

PropertiesProperties
NONE0
SOLID1
GRADIENT2
PATTERN3
AUTOMATIC4

MsoLineDashStyle

MsoLineDashStyle เป็น an IntEnum สำหรับรูปแบบเส้นประของขอบ/โครงร่าง.

PropertiesProperties
SOLID0
DASH1
DOT2
DASH_DOT3
DASH_DOT_DOT4
LONG_DASH5
LONG_DASH_DOT6

TextAlignmentType

TextAlignmentType เป็น an IntEnum สำหรับการจัดแนวข้อความในแนวนอนภายในรูปทรง.

PropertiesProperties
LEFT0
CENTER1
RIGHT2
JUSTIFY3
DISTRIBUTED4

TextAnchorType

TextAnchorType เป็น an IntEnum สำหรับการยึดข้อความในแนวตั้งภายในรูปทรง.

PropertiesProperties
TOP0
MIDDLE1
BOTTOM2
JUSTIFIED3

MsoFillFormat

ควบคุมลักษณะการเติมของรูปทรง. สามารถเข้าถึงได้ผ่าน shape.fill.

Properties

PropertiesPropertiesProperties
fill_typeFillTypeประเภทการเติมที่ใช้งานอยู่.
fore_colorstrสีการเติมพื้นหน้า (หลัก) ในรูปแบบ RRGGBB hex.
transparencyfloatความทึบของการเติมเป็นค่าจาก 0.0 (ทึบเต็ม) ถึง 1.0 (โปร่งใสเต็ม).

Properties

คัดลอก

fill.copy() -> MsoFillFormat

คืนค่าการคัดลอกเชิงลึกของการตั้งค่าการเติมเหล่านี้.


MsoLineFormat

ควบคุมลักษณะของเส้นขอบ/ขอบเขตของรูปทรง เข้าถึงได้ผ่าน shape.line.

Properties

PropertiesPropertiesProperties
is_visibleboolTrue เพื่อวาดโครงร่างของรูปทรง.
colorstrสีโครงร่างเป็นรหัสสี RRGGBB แบบ hex.
weightintความหนาของโครงร่าง (ความหนา) หน่วยเป็นพอยต์.
dash_styleMsoLineDashStyleรูปแบบเส้นประสำหรับโครงร่าง.
transparencyfloatความทึบของโครงร่างจาก 0.0 (ทึบ) ถึง 1.0 (โปร่งใส).

Properties

คัดลอก

line.copy() -> MsoLineFormat

คืนค่าการคัดลอกเชิงลึกของการตั้งค่าเส้นเหล่านี้.


ShapeFont

ควบคุมแบบอักษรของข้อความภายในรูปทรง เข้าถึงได้ผ่าน shape.font.

Properties

PropertiesPropertiesProperties
namestrชื่อฟอนต์ (เช่น,., "Calibri").
sizefloatขนาดฟอนต์เป็นพอยต์.
boldboolTrue สำหรับน้ำหนักหนา.
italicboolTrue สำหรับสไตล์เอียง.
underlineboolTrue สำหรับขีดเส้นเดี่ยว.
colorstrสีฟอนต์เป็นรหัสสี RRGGBB แบบ hex.

Properties

คัดลอก

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

คัดลอก

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

ดูเพิ่มเติม

 ภาษาไทย