openpyxl库案例及技术总结

  • 为什么要写这东西的初衷
  • 思路
  • 代码呈现
  • 总结
    • 缺点

为什么要写这东西的初衷

作为一名工作半年就远离职场的猿,心中还是有对技术的热爱,再加上以后教育引入极有可能引入编程,为了以后不在儿子面前丢脸,我打算学习python。老师常云:“兴趣是最好的老师!”对于已经进入工作阶段的我来说,有更多时间上班摸鱼才是学习python的最大动力。
因为我在居委会工作,有些报表是每天都需要上报的,主体内容却没啥变化,时间要修改为每天日期,其实工作量并不多,但作为一名专注挤时间摸鱼的重度“躺平患者”,怎么能让这东西浪费我的青春!(事后,我发现把这些简单任务交给电脑处理,反而保证了报表的准确性,不会因为自己的不严谨搞错。)那废话不多说,开始介绍吧。

思路

由于报表主要内容偶尔需要修改,所以采取复制模板修改日期方式,而不固定生成excel文件方式。程序编程逻辑如下:

Created with Raphaël 2.3.0 开始 赋值模板路径 打开workbook(工作簿) 打开worksheet(工作页) 定位cell(单元格) 修改 操作确认? 结束 抛出异常 yes no yes no yes no yes no yes no yes no

那么我们的目录应该如此

/dir
.py(本体程序)
.xls(模板)
/dir/生成报表
.xls(报表1)
.xls(报表2)

代码呈现

import datetime
import os
import time
import openpyxl# 模板路径,以后有修改直接修改模板就行
path = '模板/XX模板.xlsx'  # 无限循环,更符合工作
while True:# 因为我只要修改日期,所以仅需要输入日期就行date = time.strptime(input('输入日期(格式YYYYMMDD):'), '%Y%m%d')# 打开模板路径的Excel文件ob = openpyxl.open(path)  # 采用复制模板方式,所以创建一个新的工作簿,并把模板复制给新的工作簿wb = openpyxl.Workbook = ob  # 具体操作如下#介绍第一条代码:xls->第三页->第3行20列的内容修改wb.worksheets[3].cell(3, 20).value = '填报日期:{d.tm_year}年 {d.tm_mon} 月 {d.tm_mday} 日'.format(d=date)wb.worksheets[3].cell(5, 2).value = '{d.tm_year}.{d.tm_mon}.{d.tm_mday}'.format(d=date)wb.worksheets[6].cell(2, 1).value = '填报日期:{d.tm_year}年 {d.tm_mon} 月 {d.tm_mday} 日'.format(d=date)# getcwd()获取绝对路径,并生成报表cwd = os.getcwd()+'\生成报表\报表{d.tm_year}.{d.tm_mon}.{d.tm_mday}.xlsx'.format(d=date)# 保存报表,生成成功wb.save(cwd)print(cwd+'生成成功!')ob.close()

由于简单的操作,那么效率优先。异常处理就免了(主要是懒得写)。

总结

缺点

openpyxl库的操作是精确到单元格的,对于精确到单元格字体的不支持的

复制过后会变成这样:

如果有需求的建议更换其他的库。

python自学1:更改excel内容案例及技术总结相关推荐

  1. Python群发邮件,根据excel内容。

    Python读取excel表中的工资内容,实现工资群发邮件. 前言 目的:读取excel数据中的每个人工资情况,根据每个人的邮箱,实现群发邮件的功能. 参考:廖雪峰 一.准备工作(QQ邮箱为例) 1. ...

  2. excel内容写入txt

    python实现简单的excel内容读取之后写入txt 任务要求: python实现简单的excel内容读取,excel 内容为一个矩阵.逐行读取并且数据之间用逗号分隔,且最后一个换行处的逗号不能显示 ...

  3. Python自学笔记6:实操案例三(十进制转换二、八、十六进制),手机充值,计算能量消耗,预测未来子女身高

    Python自学笔记6:实操案例三(十进制转换二.八.十六进制),手机充值,计算能量消耗,预测未来子女身高 杨淑娟老师网课传送门(非广告):https://www.bilibili.com/video ...

  4. 手把手教你用Python批量实现在Excel后里面新加一列,并且内容为excel 表名(附源码)...

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 打起黄莺儿,莫教枝上啼. 大家好, ...

  5. Python自学笔记10:实操案例七(根据星座测试性格特点、模拟12306火车订票下单)

    Python自学笔记10:实操案例七(根据星座测试性格特点.模拟12306火车订票下单) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=157 ...

  6. python excel 内容写入html,PYTHON读取EXCEL内容再转变成HTML添加到OUTLOOK中

    需求 读取excel里的表格里的内容,然后打开本机的outlook.把excel里的内容添加到正文里,注意.这里是要添加到正文!正文!正文!而不是添加到附件里 设计思路 1.excel处理 打开exc ...

  7. java 更改excel文件名称_根据Excel文件中的内容,修改指定文件夹下的文件名称

    问题:根据Excel文件中内容,把文件名称由第2列,改为第1列.比如:把文件"123.jpg"修改为"1.jpg". aaarticlea/png;base64 ...

  8. pythonexcel汇总_用python汇总excel表格数据-怎样用python遍历表格中的内容

    如何用python将数据写入excel表格 # 需 xlrd-0.9.2  xlutils-1.7.1 这两个模块 from xlwt import Workbook, Formula import  ...

  9. python课程内容-Python自学难吗?有哪些课程内容?

    自学一门技能,本身就有难度,更何况还是编程类型的Python,要是有兴趣还好说,兴趣是 原始动力.但是光有兴趣还远远不够,要足够坚持才能学有所成.那么Python自学难吗?本 文将为大家来解答! 前期 ...

最新文章

  1. R语言使用caret包构建GBM模型:在模型最优参数已知的情况下,拟合整个训练集,而无需进行任何重采样或参数调优
  2. 02 聚类算法 - 相似度距离公式、维度灾难
  3. 赛思互动:企业开展CRM系统需求调研步骤
  4. Matlab Robotic Toolbox V9.10工具箱(七):Stanford arm 动力学建模与仿真
  5. MFC中滚动条slider和编辑框edit的联动
  6. 西安理工大学计算机专业毕业,西安理工大学什么专业好找工作?毕业工资大概多少?答案在这里...
  7. JavaFX 2.0布局窗格– FlowPane和TilePane
  8. 【python】urllib和urllib3,requests 简要概括---笔记
  9. 【ElasticSearch】Es 源码之 IndicesModule 源码解读
  10. 13. 为什么我们会需要 Pod?
  11. 学习笔记之dns正反向解析区域,主从服务,子域授权,安全
  12. 如何做相册_苹果手机相册不想让人看怎么办?看这里教你加密
  13. pandas折线图x轴显示不全_python - 为什么在Geopandas中显示折线图时会忽略绘图顺序 - 堆栈内存溢出...
  14. 使用boost库获取应用程序的所在目录
  15. Express框架学习笔记-post请求参数的获取
  16. 【爬虫】手把手教你写网络爬虫(1)
  17. PMP课程笔记:第13章 项目相关方管理
  18. 身份证号正则验证及提取性别出生年月出生时间
  19. Java小程序--多彩时钟表盘的制作
  20. centos6 yum源失效解决方法

热门文章

  1. 让终端支持播放mp3,移植mp3解码库libmad和madplay到嵌入式linux
  2. canvas在舞台上点击后图片旋转_Canvas-图片旋转
  3. 云计算、社交网络和移动互联网------转自月光博客
  4. 数据库标准语言SQL(六)——单表查询(二)
  5. 5+App使用UniPush发送消息,App在线、离线均能收到消息推送,并在通知栏进行提醒,苹果、华为、小米手机均测试通过
  6. houdini节点大全中文手册_【技术贴】武林秘籍在此!大咖座谈虚幻引擎制作影视动画经验!...
  7. Dev GridView网格中格式化 TimeSpan
  8. 本地配置多个 Git 账户信息,满足不同的 Git 平台
  9. 关于JS获取clientWidth大小一直为0的问题
  10. win11修改mac地址的方法