Aspose.Cells FOSS API Reference
Properties
Aspose.Cells FOSS is an open-source Python library for creating, reading, and modifying spreadsheet files without requiring Microsoft Excel. It supports XLSX and CSV formats for input, and adds Markdown export via save_as_markdown(). 该库的结构围绕一个 Workbook 根对象,管理工作表、样式、图表和 I/O。.
核心入口点是 Workbook.每个 Workbook 包含一个或多个 Worksheet 对象,可通过 wb.worksheets[index]. 单元格可通过 Cells 集合使用 A1 表示法或零基行/列索引进行访问。.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
ws.cells["A1"].value = "Revenue"
ws.cells["B2"].value = 42
wb.save("output.xlsx")Workbook 和 Worksheet
Properties Workbook 类是所有电子表格操作的根对象。它负责文件加载、保存以及对工作表和文档属性的访问。.
from aspose.cells_foss import Workbook
wb = Workbook() # new workbook
wb = Workbook("input.xlsx") # open existing file
wb = Workbook("protected.xlsx", password="secret") # open encrypted file
ws = wb.worksheets[0] # first worksheet (0-based)
ws = wb.add_worksheet("Sheet2") # add a named worksheet
ws.cells["A1"].put_value("Hello") # write by A1 reference
ws.cells["A1"].value # read value (property, no parentheses)
ws.cells["A2"].formula = "=SUM(B1:B5)"
wb.save("output.xlsx") # save as XLSX
wb.save("output.csv") # auto-detects format from extension
wb.save_as_markdown("output.md") # export as Markdown table
wb.save("output.xlsx", password="secret") # save with AES encryptionProperties
使用以下方式向工作表添加图表 add_* 方法 ws.charts. 每个方法接受四个位置参数:: top_row, left_col, bottom_row, right_col. 通过索引访问图表以设置其标题和数据系列。.
from aspose.cells_foss import Workbook
wb = Workbook()
ws = wb.worksheets[0]
chart_idx = ws.charts.add_line(upper_left_row=0, upper_left_col=4,
lower_right_row=20, lower_right_col=12)
chart = ws.charts[chart_idx]
chart.title = "Monthly Sales"
chart.n_series.add("B2:B7", category_data="A2:A7", name="Sales")
# Other add methods: add_bar, add_pie, add_area, add_scatter,
# add_waterfall, add_combo, add_stock, add_surface, add_radar,
# add_treemap, add_sunburst, add_histogram, add_funnel,
# add_box_whisker, add_mapProperties
使用以下方式向工作表添加绘图形状和文本框 ws.shapes.
from aspose.cells_foss import Workbook
from aspose.cells_foss import MsoDrawingType, TextAlignmentType, TextAnchorType
wb = Workbook()
ws = wb.worksheets[0]
shape = ws.shapes.add(MsoDrawingType.ROUNDED_RECTANGLE, 1, 1, 5, 5)
shape.text = "Hello"
shape.fill.fore_color = "90EE90"
shape.font.bold = True
shape.text_horizontal_alignment = TextAlignmentType.CENTER
shape.text_vertical_alignment = TextAnchorType.MIDDLE
textbox = ws.shapes.add_text_box(7, 1, 11, 8)
textbox.text = "Notes"单元格值和样式
使用以下方式读取和写入单元格值 .value 属性。通过访问来修改格式 cell.style 直接。.
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
# Write values
worksheet.cells["A1"].value = "Hello"
worksheet.cells["B1"].value = "World"
worksheet.cells["A2"].value = 42
worksheet.cells["B2"].value = 3.14
# Read a value
value = worksheet.cells["A1"].value
print(f"Cell A1 contains: {value}")
# Apply a style via the cell's style property
cell = worksheet.cells["A1"]
cell.style.font.bold = True
cell.style.font.size = 14
cell.style.font.color = "FF0000" # RRGGBB hex, no # prefix
cell.style.set_horizontal_alignment("center")
cell.style.set_number_format("#,##0.00")
cell.style.set_border("bottom", line_style="thin")
workbook.save("output.xlsx")注意:在设置时 font.color,,使用不带前缀的十六进制字符串 # 前缀(例如,., "FF0000" 用于红色)。.
数据验证
使用以下方式向单元格范围添加下拉列表或其他验证规则 ws.data_validations.
from aspose.cells_foss import Workbook, DataValidationType
workbook = Workbook()
worksheet = workbook.worksheets[0]
validation = worksheet.data_validations.add("A1:A10")
validation.type = DataValidationType.LIST
validation.formula1 = '"Option1,Option2,Option3"'
workbook.save("validation.xlsx")Properties
保存或打开受密码保护的工作簿::
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
worksheet.cells["A1"].value = "Confidential Data"
# Save with password protection
workbook.save("protected.xlsx", password="mypassword")
# Open a password-protected file
workbook2 = Workbook("protected.xlsx", password="mypassword")公共 API
Properties Cells 类提供使用 A1 样式表示法(例如,)访问单个单元格., "A1") 或基于 1 的行/列元组索引。该 Cell 类表示单个单元格并公开 value, formula,,以及 style 作为可读写属性。支持通过以下方式合并和取消合并单元格 merge() 以及 unmerge() 方法在 Cells.
from aspose.cells_foss import Workbook
workbook = Workbook()
worksheet = workbook.worksheets[0]
worksheet.cells["A1"].value = "Hello"
worksheet.cells["B1"].value = "World" # A1 notation preferred
workbook.save("output.xlsx")| Properties | Properties | Properties |
|---|---|---|
Workbook | 工作簿 | 根工作簿对象 |
Worksheet | 工作表 | 包含单元格、图表、形状的单个工作表 |
Cells | 单元格 | 具有 A1 和基于 1 的(行,列)访问的单元格集合 |
Cell | 单元格 | 单元格:值、公式、样式 |
Style | 样式 | 单元格格式:字体、填充、边框、对齐 |
Chart | 图表 | 嵌入式图表 |
DataValidation | 数据验证 | 单元格范围验证规则 |
CSVHandler | csv-处理程序 | CSV 导入/导出 |
MarkdownHandler | markdown-处理程序 | Markdown 导出 |
JsonHandler | json-处理程序 | JSON 导出 |
Shape | 形状 | 绘图形状或文本框 |
Table | 表格 | Excel 结构化表格 |
SparklineGroup | 迷你图 | 迷你图表 |
HorizontalPageBreakCollection | 分页符 | 手动分页符 |
AgileEncryptionParameters | 加密 | AES 加密参数 |
SaveFormat | 工作簿 | 输出格式 enum |
常见模式
# Styling a cell
cell = ws.cells["A1"]
cell.style.font.bold = True
cell.style.font.size = 14
cell.style.font.color = "FF0000" # red (RRGGBB, no #)
cell.style.set_horizontal_alignment("center")
cell.style.set_number_format("#,##0.00")
cell.style.set_border("bottom", line_style="thin")# Add a dropdown validation
from aspose.cells_foss import DataValidationType
dv = ws.data_validations.add("B1:B10")
dv.type = DataValidationType.LIST
dv.formula1 = '"Red,Green,Blue"'
dv.show_dropdown = True