基础示例¶
本页面包含Symphra Excel的基础使用示例。
示例1: Hello World¶
最简单的示例 - 创建一个包含"Hello World"的Excel文件。
from symphra_excel import Workbook
# 创建工作簿
wb = Workbook()
sheet = wb.create_worksheet("Hello")
# 写入内容
sheet.set_cell_value("A1", "Hello, Symphra Excel!")
# 保存
wb.save("hello_world.xlsx")
wb.close()
print("创建成功!")
示例2: 简单表格¶
创建一个包含表头和数据的简单表格。
from symphra_excel import Workbook
from symphra_excel.styles import PredefinedStyles
wb = Workbook()
sheet = wb.create_worksheet("学生成绩")
# 表头
headers = ["姓名", "数学", "英语", "总分"]
for col_idx, header in enumerate(headers):
cell = f"{chr(65+col_idx)}1"
sheet.set_cell_value(cell, header)
sheet.apply_style(cell, PredefinedStyles.header_style())
# 数据
students = [
["张三", 95, 88, 183],
["李四", 76, 82, 158],
["王五", 88, 91, 179],
]
for row_idx, student in enumerate(students, start=2):
for col_idx, value in enumerate(student):
sheet.set_cell_value(f"{chr(65+col_idx)}{row_idx}", value)
wb.save("students.xlsx")
wb.close()
示例3: 使用样式¶
应用各种样式到单元格。
from symphra_excel import Workbook, CellStyle
from symphra_excel.styles import Color, BorderStyle
wb = Workbook()
sheet = wb.create_worksheet("样式示例")
# 创建不同样式
title_style = CellStyle()
title_style.set_font(name="微软雅黑", size=16, bold=True, color=Color.DARK_BLUE)
title_style.set_alignment(horizontal="center")
header_style = CellStyle()
header_style.set_font(bold=True, color=Color.WHITE)
header_style.set_background_color(Color.DARK_BLUE)
header_style.set_border(BorderStyle.THIN, Color.BLACK)
data_style = CellStyle()
data_style.set_border(BorderStyle.THIN, Color.GRAY)
# 应用样式
sheet.set_cell_value("A1", "销售报表")
sheet.merge_cells("A1:D1")
sheet.apply_style("A1", title_style)
headers = ["产品", "数量", "单价", "总额"]
for col_idx, header in enumerate(headers):
cell = f"{chr(65+col_idx)}2"
sheet.set_cell_value(cell, header)
sheet.apply_style(cell, header_style)
data = [["苹果", 100, 5, 500], ["香蕉", 150, 3, 450]]
for row_idx, row_data in enumerate(data, start=3):
for col_idx, value in enumerate(row_data):
cell = f"{chr(65+col_idx)}{row_idx}"
sheet.set_cell_value(cell, value)
sheet.apply_style(cell, data_style)
wb.save("styled_report.xlsx")
wb.close()
示例4: 多工作表¶
创建包含多个工作表的工作簿。
from symphra_excel import Workbook
wb = Workbook()
# 创建三个月的工作表
months = ["一月", "二月", "三月"]
for month in months:
sheet = wb.create_worksheet(month)
sheet.set_cell_value("A1", f"{month}销售数据")
sheet.set_cell_value("A2", "日期")
sheet.set_cell_value("B2", "销售额")
# 添加示例数据
for day in range(1, 6):
sheet.set_cell_value(f"A{day+2}", f"{day}日")
sheet.set_cell_value(f"B{day+2}", day * 1000)
wb.save("quarterly_report.xlsx")
wb.close()
示例5: 数字格式¶
设置不同的数字显示格式。
from symphra_excel import Workbook, CellStyle
wb = Workbook()
sheet = wb.create_worksheet("数字格式")
# 设置说明
formats = [
("普通数字", 1234.567, None),
("两位小数", 1234.567, "0.00"),
("千分位", 1234567, "#,##0"),
("百分比", 0.856, "0.00%"),
("货币", 1234.56, "¥#,##0.00"),
("科学计数", 1234567890, "0.00E+00"),
]
for row_idx, (desc, value, fmt) in enumerate(formats, start=1):
sheet.set_cell_value(f"A{row_idx}", desc)
sheet.set_cell_value(f"B{row_idx}", value)
if fmt:
style = CellStyle()
style.set_number_format(fmt)
sheet.apply_style(f"B{row_idx}", style)
wb.save("number_formats.xlsx")
wb.close()
示例6: 合并单元格¶
创建包含合并单元格的表格。
from symphra_excel import Workbook, CellStyle
from symphra_excel.styles import Color
wb = Workbook()
sheet = wb.create_worksheet("合并示例")
# 标题 - 合并A1:D1
title_style = CellStyle()
title_style.set_font(size=16, bold=True)
title_style.set_alignment(horizontal="center", vertical="center")
title_style.set_background_color(Color.LIGHT_BLUE)
sheet.set_cell_value("A1", "年度销售报告")
sheet.merge_cells("A1:D1")
sheet.apply_style("A1", title_style)
# 分组表头
sheet.set_cell_value("A2", "第一季度")
sheet.merge_cells("A2:B2")
sheet.set_cell_value("C2", "第二季度")
sheet.merge_cells("C2:D2")
# 子表头
headers = ["一月", "二月", "三月", "四月"]
for col_idx, header in enumerate(headers):
sheet.set_cell_value(f"{chr(65+col_idx)}3", header)
wb.save("merged_cells.xlsx")
wb.close()
示例7: 批量数据写入¶
高效地写入大量数据。
from symphra_excel import Workbook
wb = Workbook()
sheet = wb.create_worksheet("大数据")
# 表头
sheet.set_cell_value("A1", "编号")
sheet.set_cell_value("B1", "名称")
sheet.set_cell_value("C1", "值")
# 批量写入1000行数据
for i in range(1000):
row = i + 2
sheet.set_cell_value(f"A{row}", i + 1)
sheet.set_cell_value(f"B{row}", f"Item_{i+1}")
sheet.set_cell_value(f"C{row}", (i + 1) * 100)
wb.save("large_data.xlsx")
wb.close()
print("已写入1000行数据")
示例8: 条件格式化¶
根据数据值应用不同样式。
from symphra_excel import Workbook, CellStyle
from symphra_excel.styles import Color
wb = Workbook()
sheet = wb.create_worksheet("成绩单")
# 样式定义
excellent = CellStyle()
excellent.set_background_color(Color.LIGHT_GREEN)
good = CellStyle()
good.set_background_color(Color.LIGHT_YELLOW)
poor = CellStyle()
poor.set_background_color(Color.LIGHT_RED)
# 数据
sheet.set_cell_value("A1", "姓名")
sheet.set_cell_value("B1", "分数")
students = [
("张三", 95),
("李四", 78),
("王五", 55),
("赵六", 88),
]
for row_idx, (name, score) in enumerate(students, start=2):
sheet.set_cell_value(f"A{row_idx}", name)
sheet.set_cell_value(f"B{row_idx}", score)
# 根据分数应用不同颜色
if score >= 90:
sheet.apply_style(f"B{row_idx}", excellent)
elif score >= 60:
sheet.apply_style(f"B{row_idx}", good)
else:
sheet.apply_style(f"B{row_idx}", poor)
wb.save("conditional_format.xlsx")
wb.close()
示例9: 行列设置¶
设置行高和列宽。
from symphra_excel import Workbook
wb = Workbook()
sheet = wb.create_worksheet("行列设置")
# 设置列宽
sheet.set_column_width("A", 20) # A列宽度20
sheet.set_column_width("B", 30) # B列宽度30
sheet.set_column_width("C", 15) # C列宽度15
# 设置行高
sheet.set_row_height(1, 30) # 第1行高度30
sheet.set_row_height(2, 25) # 第2行高度25
# 写入数据
sheet.set_cell_value("A1", "这是一个较长的文本内容")
sheet.set_cell_value("B1", "这是一个更长的文本内容示例")
sheet.set_cell_value("C1", "短文本")
wb.save("row_column_sizes.xlsx")
wb.close()
示例10: 使用上下文管理器¶
推荐的资源管理方式。
from symphra_excel import Workbook
from symphra_excel.styles import PredefinedStyles
# 使用with语句自动管理资源
with Workbook() as wb:
sheet = wb.create_worksheet("数据")
# 写入数据
sheet.set_cell_value("A1", "标题")
sheet.apply_style("A1", PredefinedStyles.title_style())
for i in range(10):
sheet.set_cell_value(f"A{i+2}", f"数据 {i+1}")
wb.save("context_manager.xlsx")
# 自动关闭和清理资源
运行所有示例¶
将以上示例保存为examples.py并运行:
将会生成多个Excel文件,演示各种功能。