当前位置:首页 > Python > 正文

openpyxl写入Excel表格教程 - Python操作Excel指南

openpyxl写入Excel表格完整教程

为什么使用openpyxl操作Excel?

openpyxl是Python中最流行的Excel操作库之一,支持读写.xlsx格式文件。相比其他库,openpyxl具有以下优势:

  • 支持最新Excel文件格式(.xlsx)
  • 可创建、读取和修改Excel文件
  • 支持公式、图表、样式等高级功能
  • API设计简洁直观

安装openpyxl

使用pip命令安装:

pip install openpyxl

基础写入操作

创建新工作簿并写入数据

以下是创建新Excel文件并写入数据的完整示例:

from openpyxl import Workbook

# 创建工作簿对象
wb = Workbook()

# 获取默认工作表
ws = wb.active
ws.title = "员工数据"  # 设置工作表名称

# 写入表头
headers = ["ID", "姓名", "部门", "薪资"]
ws.append(headers)

# 写入数据行
data_rows = [
    [1001, "张三", "技术部", 15000],
    [1002, "李四", "市场部", 12000],
    [1003, "王五", "财务部", 13000]
]

for row in data_rows:
    ws.append(row)

# 保存文件
wb.save("员工信息.xlsx")

写入特定单元格

通过单元格坐标精准写入数据:

# 直接通过坐标写入
ws['A1'] = "报表标题"

# 使用cell方法写入
ws.cell(row=3, column=2, value="技术研发中心")

# 写入公式
ws['E2'] = "=SUM(D2:D4)"

高级操作技巧

多工作表操作

# 创建新工作表
ws1 = wb.create_sheet("部门汇总") 

# 在工作表间复制数据
for row in ws.iter_rows(values_only=True):
    ws1.append(row)

# 设置工作表标签颜色
ws1.sheet_properties.tabColor = "1072BA"

添加样式格式

from openpyxl.styles import Font, Alignment

# 设置标题样式
title_cell = ws['A1']
title_cell.font = Font(bold=True, size=16, color="FF0000")
title_cell.alignment = Alignment(horizontal='center')

# 设置列宽
ws.column_dimensions['A'].width = 15
ws.column_dimensions['B'].width = 20

# 设置行高
ws.row_dimensions[1].height = 30

常见问题解决

1. 文件保存失败

解决方案:检查文件是否被其他程序打开,确保有写入权限

2. 公式不更新

解决方案:保存时添加data_only参数

wb.save("带公式.xlsx", data_only=True)

3. 大数据量写入慢

优化方案:使用write-only模式

wb = Workbook(write_only=True)
ws = wb.create_sheet()
for row in large_data_set:
    ws.append(row)

实际应用场景

  • 自动生成业务报表
  • 数据采集结果导出
  • 数据库内容导出
  • 自动化测试报告生成
  • 财务数据分析与汇总

最佳实践建议

  1. 批量操作时先收集所有数据再一次性写入
  2. 超过10万行数据考虑使用其他存储格式
  3. 重要操作添加异常处理机制
  4. 定期保存工作进度防止数据丢失

发表评论