乐于分享
好东西不私藏

Python办公三剑客:让Word/Excel/PPT自己干活去吧!

Python办公三剑客:让Word/Excel/PPT自己干活去吧!

别再当人肉复制机了

每天在Word里敲重复内容?在Excel里做透视表做到眼花?给PPT调格式调到凌晨?醒醒! 这些活儿,Python十分钟就能干完。我见过太多人,加班加点就为了这些机械劳动,简直是在用生命给老板省软件钱😅。

Excel?交给openpyxl就对了

处理Excel,openpyxl是绝对的王者。它不依赖Excel软件,直接读写.xlsx文件,快得飞起。

from openpyxl import Workbook

# 创建一个新工作簿
wb = Workbook()
ws = wb.active
ws.title = "我的自动化报表"

# 写入数据
ws['A1'] = "产品"
ws['B1'] = "销售额"
ws.append(["手机"50000])
ws.append(["电脑"80000])

# 保存文件
wb.save("销售报表.xlsx")

样式搞起来,老板看了都说专业

光有数据不行,还得好看。openpyxl能让你的表格瞬间高大上。

from openpyxl.styles import Font, PatternFill

# 给标题加粗+黄色背景
header_font = Font(bold=True, color="FFFFFF")
header_fill = PatternFill(start_color="366092", end_color="366092", fill_type="solid")

for cell in ws[1]:
    cell.font = header_font
    cell.fill = header_fill

wb.save("销售报表_美化版.xlsx")

Word文档?python-docx来接管

批量生成合同、报告?python-docx让你告别复制粘贴。

from docx import Document

doc = Document()
doc.add_heading('月度工作报告'0)
doc.add_paragraph('本月完成项目:')
doc.add_paragraph('1. 自动化脚本开发', style='List Bullet')
doc.add_paragraph('2. 数据分析报告', style='List Bullet')

# 插个表格
table = doc.add_table(rows=2, cols=2)
table.cell(00).text = '指标'
table.cell(01).text = '完成率'
table.cell(10).text = '任务A'
table.cell(11).text = '100%'

doc.save('工作报告.docx')

PPT也能自动生成?没开玩笑!

每周都要做汇报PPT?python-pptx库了解一下。

from pptx import Presentation
from pptx.util import Inches

prs = Presentation()
slide_layout = prs.slide_layouts[1# 标题+内容布局
slide = prs.slides.add_slide(slide_layout)

slide.shapes.title.text = "Q1 业绩汇报"
slide.placeholders[1].text = "• 销售额同比增长20%\n• 新客户增长15%"

# 插入一张图表图片(假设你有张图叫chart.png)
left = top = Inches(2)
slide.shapes.add_picture('chart.png', left, top, width=Inches(6))

prs.save('Q1汇报.pptx')

真正的王炸:三件套联动

最骚的操作来了!把三个库组合起来,威力无穷。

想象一下:从Excel读取销售数据 -> 自动生成Word分析报告 -> 最后做成PPT汇报。一气呵成!

# 伪代码示意
from openpyxl import load_workbook
from docx import Document
from pptx import Presentation

# 1. 读Excel
wb = load_workbook('data.xlsx')
sales_data = wb['Sheet1']['B2'].value

# 2. 写Word
doc = Document()
doc.add_paragraph(f"本月销售额为: {sales_data}")
doc.save('report.docx')

# 3. 做PPT
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[1])
slide.shapes.title.text = f"销售额: {sales_data}"
prs.save('presentation.pptx')

效率提升不是一点点

我有个朋友,以前每周花5小时做周报。用了这套组合拳后,5分钟搞定。剩下的4小时55分钟,他用来学习新技能,半年后升职加薪了。这投资回报率,简直离谱!

别再用宝贵的生命去换那点工资了。让代码去干脏活累活,你只负责思考和创造。这才是程序员改变世界的方式,哪怕只是改变自己的小世界😉。