创建
Workbook() + save()
xlsx 是处理 Excel 电子表格的技能。它的核心是:创建、读取、编辑和分析 Excel 文件。
当用户提到以下内容时使用:
import openpyxl
wb = openpyxl.Workbook()ws = wb.activews['A1'] = 'Hello'wb.save('workbook.xlsx')import openpyxl
wb = openpyxl.Workbook()ws = wb.active
# 添加表头ws['A1'] = '姓名'ws['B1'] = '年龄'ws['C1'] = '城市'
# 添加数据ws['A2'] = '张三'ws['B2'] = '25'ws['C2'] = '北京'
# 批量添加data = [ ['李四', '30', '上海'], ['王五', '28', '广州']]for row in data: ws.append(row)
wb.save('data.xlsx')import openpyxlfrom openpyxl.styles import Font, PatternFill, Alignment
wb = openpyxl.load_workbook('data.xlsx')ws = wb.active
# 设置字体ws['A1'].font = Font(name='Arial', size=12, bold=True)
# 设置填充色ws['A1'].fill = PatternFill( start_color='FF0000', end_color='FF0000', fill_type='solid')
# 设置对齐ws['A1'].alignment = Alignment( horizontal='center', vertical='center')
# 设置列宽ws.column_dimensions['A'].width = 15
# 设置行高ws.row_dimensions[1].height = 25
wb.save('formatted.xlsx')import openpyxl
wb = openpyxl.Workbook()ws = wb.active
ws['A1'] = '产品'ws['B1'] = '单价'ws['C1'] = '数量'ws['D1'] = '小计'
ws['A2'] = '苹果'ws['B2'] = 5ws['C2'] = 10ws['D2'] = '=B2*C2'
ws['A3'] = '香蕉'ws['B3'] = 3ws['C3'] = 8ws['D3'] = '=B3*C3'
# 求和ws['D4'] = '=SUM(D2:D3)'
wb.save('formula.xlsx')import openpyxlfrom openpyxl.styles import Alignment
wb = openpyxl.Workbook()ws = wb.active
# 合并单元格ws.merge_cells('A1:D1')
# 设置合并后的内容ws['A1'] = '标题'ws['A1'].alignment = Alignment(horizontal='center')
wb.save('merged.xlsx')import openpyxlfrom openpyxl.chart import BarChart, Reference
wb = openpyxl.Workbook()ws = wb.active
# 添加数据ws['A1'] = '月份'ws['B1'] = '销售额'ws['A2'] = '1月'ws['B2'] = 100ws['A3'] = '2月'ws['B3'] = 150ws['A4'] = '3月'ws['B4'] = 120
# 创建图表chart = BarChart()data = Reference(ws, min_col=2, min_row=1, max_row=4)cats = Reference(ws, min_col=1, min_row=2, max_row=4)chart.add_data(data, titles_from_data=True)chart.set_categories(cats)
# 添加图表到工作表ws.add_chart(chart, 'E2')
wb.save('chart.xlsx')需求:创建月度销售报表
步骤:1. 添加表头2. 填充销售数据3. 添加汇总公式4. 创建图表5. 格式化样式需求:分析数据并可视化
步骤:1. 读取数据2. 计算统计值3. 创建图表4. 生成报告创建
Workbook() + save()
数据
ws[‘A1’] = value ws.append()
格式化
Font, PatternFill, Alignment
公式
=SUM(), =AVERAGE()
图表
BarChart + Reference()
查看源文件: GitHub原始文件