from openpyxl.styles import Alignment, PatternFill, Font

from openpyxl.utils import get_column_letter

from openpyxl.drawing.image import Image

import openpyxl

import calendar

# 设置第一天为星期天

calendar.setfirstweekday(firstweekday=6)

# 创建一个工作簿

wb = openpyxl.Workbook()

# 遍历12个月

for i in range(1, 13):

# 添加工作表

sheet = wb.create_sheet(index=0, title=str(i) + '月')

# 获取具体日期时间

for j in range(len(calendar.monthcalendar(2020, i))):

for k in range(len(calendar.monthcalendar(2020, i)[j])):

value = calendar.monthcalendar(2020, i)[j][k]

# 将0值变为空值

if value == 0:

value = ''

sheet.cell(row=j + 9, column=k + 1).value = value

else:

sheet.cell(row=j + 9, column=k + 1).value = value

# 设置字体

sheet.cell(row=j + 9, column=k + 1).font = Font(u'微软雅黑', size=11)

# 单元格文字设置,右对齐,垂直居中

align = Alignment(horizontal='right', vertical='center')

# 单元格填充色属性设置

fill = PatternFill("solid", fgColor="B9EBF7")

# 对单元格进行颜色填充

for k1 in range(1, 100):

for k2 in range(1, 100):

sheet.cell(row=k1, column=k2).fill = fill

# 添加星期几信息行

days = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']

num = 0

for k3 in range(1, 8):

sheet.cell(row=8, column=k3).value = days[num]

sheet.cell(row=8, column=k3).alignment = align

sheet.cell(row=8, column=k3).font = Font(u'微软雅黑', size=11)

# 设置列宽12

c_char = get_column_letter(k3)

sheet.column_dimensions[get_column_letter(k3)].width = 12

num += 1

# 设置行高30

for k4 in range(8, 14):

sheet.row_dimensions[k4].height = 30

# 合并单元格

sheet.merge_cells('I1:P20')

# 添加图片

#循环文件夹中的图片,i为月份,每个月匹配一张图片

img =Image('C:/Users/DELL/Desktop/tu/%d.jpg' % i )

sheet.add_image(img, 'I1')

# 添加年份及月份

sheet.cell(row=3, column=1).value = '2020年'

sheet.cell(row=4, column=1).value = str(i) + '月'

# 设置年份及月份文本属性

sheet.cell(row=3, column=1).font = Font(u'微软雅黑', size=16, bold=True, color='FF7887')

sheet.cell(row=4, column=1).font = Font(u'微软雅黑', size=16, bold=True, color='FF7887')

sheet.cell(row=3, column=1).alignment = align

sheet.cell(row=4, column=1).alignment = align

# 设置周六周日显示红色

sheet.cell(row=9, column=1 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=10, column=1 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=11, column=1 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=12, column=1 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=13, column=1 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=14, column=1).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=9, column=7 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=10, column=7 ).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=11, column= 7).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=12, column= 7).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=13, column= 7).font = Font(u'微软雅黑', color='FF7887')

sheet.cell(row=14, column=7).font = Font(u'微软雅黑', color='FF7887')

# 保存文档

wb.save(r'C:\Users\DELL\Desktop\图片音视频\日历.xlsx')

注:本文参考https://mp.weixin.qq.com/s/lUGVq5z6WE7bvPS9HBy2uA 代码,做了少许改动,添加循环图片与周末颜色红色高亮显示,若有侵权,请联系我删除,谢谢

python制作日历并保存成excel_python台历代码--涉及知识点为Excel表格合并等操作相关推荐

  1. python制作日历并保存成excel_利用Python自动化生成逼格高的日历!简单又实用

    本次内容有感于<Python编程快速上手-让繁琐工作自动化>. 根据书中的「处理Excel电子表格」章节内容,做出一份专属日历. 使用的模块为openpyxl,一个能读取和修改Excel电 ...

  2. python读取json文件转成excel_Python实现读取json文件到excel表

    这篇文章主要介绍了Python实现读取json文件到excel表,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Python实现读取json文件到excel表,供大家参考,具体 ...

  3. 基于Python的高校勤工俭学工资管理系统——实现对excel表格的数据操作(xwlings库)

    基于Python的高校勤工俭学工资管理系统 1 需求概述 1.1 需求分析 勤工俭学是指学校组织的或学生个人从事的有酬劳动,用以助学.在我国,许多高校借以对学生进行劳动技术教育,培养正确的劳动观点和态 ...

  4. excel如何把多张表合并成一个表_如何将多个excel表格合并成一个_excel多表合并到一种表格的方法...

    Excel是我们日常办公经常要用到的工具,有时候我们会制作非常多的Excel表格,为了方便管理,我们需要将这些表格合并到一起,那么如何将多个excel表格合并成一个呢?相信很多朋友都不太清楚,那么今天 ...

  5. Python对比VBA实现excel表格合并与拆分

    1.Excel表格合并 我们在日常工作中经常会导出一些数据,但是这些数据较大可能是按照某个分类形成的单独表格,比如每一天的数据,每个品牌的数据等. 但是,我们在进行数据分析的时候可能往往需要对这些数据 ...

  6. excel合并多个工作表_快速将多个Excel表格合并成一个Excel表格

    之前在微信群内有朋友问我如何快速将多个Excel表格合并成一个Excel表格,当时没有讲解清楚,今天专门来告诉大家如何快速合并Excel表格到一个工作表中. 在合并表格中,不外乎以下两种情况: 将多个 ...

  7. Python实现excel表格合并

    使用Python实现excel表格合并(程序打包:pyinstaller -F ***.py): 一个excel文件的多sheet合并 文件夹下多个Excel文件的合并(单个文件的多sheet也会自动 ...

  8. excel如何把多张表合并成一个表_如何快速把多个excel表格合并成一个excel表

    如何快速把多个excel表格合并成一个excel表呢? 首先,我们需要把多个excel表都放在同一个文件夹里面,并在这个文件夹里面新建一个excel文件. 用microsoft excel打开新建的e ...

  9. 多个vue项目合并成一个_多个Excel表格合并成一个表,最简单的方法在这里

      经常跟Excel表格打交道的小伙伴,对于合并表格肯定是不陌生的,又是突然有个任务,需要把几百个表格文件合并成一个,这时候用复制粘贴就很不明智了,要想在规定时间内完成是万万不可能的.这时候,我们就需 ...

  10. python制作日历_Python如何绘制日历图和热力图

    本文以2019年全国各城市的空气质量观测数据为例,利用matplotlib.calmap.pyecharts绘制日历图和热力图.在绘图之前先利用pandas对空气质量数据进行处理. 数据处理 从网站下 ...

最新文章

  1. Azure手把手系列5:Azure帐户和订阅
  2. 洛谷 2758 编辑距离
  3. 文献记录(part57)--半监督学习方法
  4. ASP.NET Core 管道再探
  5. Selenium+C#自动化脚本开发学习
  6. LeetCode#67--Add Binary(用Java实现二进制相加)
  7. flask-script插件
  8. linux机顶盒线刷工具,机顶盒刷机包通用版|PhoenixSuitpacket一键刷机工具 V1.10 官方最新版 下载_当下软件园_软件下载...
  9. 罗马时钟代码html,用Html实现炫酷罗马时钟
  10. 枚举身份证后四位java代码
  11. 抢椅子游戏java_抢椅子游戏作文(精选10篇)
  12. Mode Collapse 和 Mode Dropping的定义与不同
  13. 运行不了cracker.jar?激活MyEclipse
  14. ESD门禁管理系统方案
  15. 谈一谈对新技术的态度
  16. 华为服务器gpu卡型号,gpu服务器 华为云
  17. Android 微博登录
  18. iOS—网络实用技术OC篇网络爬虫-使用java语言抓取网络数据
  19. Keil uVision5 界面模糊(优化)变清晰
  20. 腾讯CSIG-腾讯云-后台开发-面经(已拿offer)

热门文章

  1. c 开发android原生程序,Android原生开发极简教程
  2. 您的计算机无法加入域,Win7系统电脑无法加入域提示找不到网络路径的应对方案...
  3. [Swift]LeetCode882. 细分图中的可到达结点 | Reachable Nodes In Subdivided Graph
  4. 微信网页版(在电脑上聊微信)
  5. 【msm8953】gpio口模拟pwm详细步骤
  6. 词云图生成器使用帮助
  7. 导入(excel)+导出(excel)+国际化(i18n)+
  8. IR2301高电压,高速功率MOSFET和IGBT驱动器介绍
  9. 科三——细则以及扣分点
  10. 自动玩Chrome小恐龙游戏