使用openpyxl来创建一个月的日程表

这篇具有很好参考价值的文章主要介绍了使用openpyxl来创建一个月的日程表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

首先你心里要有一张表的样子,openpyxl才能帮你创建出其余的29张。

import openpyxl
from openpyxl.styles import Alignment, Font
import calendar
from datetime import date

work_path = r'XX\YY\ZZ\日报-九月.xlsx'

try:
    workbook = openpyxl.load_workbook(work_path)
except FileNotFoundError:
    workbook = openpyxl.Workbook()
    workbook.save(work_path)
    workbook = openpyxl.load_workbook(work_path)

# 创建30张表
for i in range(1, 31):
    # 新建表格
    sheet = workbook.create_sheet(title=f'9.{i}')
    # 设置单元格内容
    sheet['A1'].value = f'2023.09.{i:02d}({calendar.day_name[date(2023, 9, i).weekday()]})'
    sheet['A2'].value = '特记'
    sheet['A3'].value = '类型'
    sheet['B3'].value = '任务描述'
    sheet['C3'].value = '完成情况'
    sheet['D3'].value = '启发'
    sheet['A4'].value = '工作'
    sheet['A8'].value = '兴趣'
    sheet['A9'].value = '联络'
    sheet['A10'].value = '生活'
    sheet['A11'].value = '额外'
    # 设置单元格合并
    sheet.merge_cells('A1:D1')
    sheet.merge_cells('B2:D2')
    sheet.merge_cells('A4:A7')
    sheet.merge_cells('B11:C11')

    # 设置B、C、D三列的宽度为常规宽度的4倍
    sheet.column_dimensions['B'].width = sheet.column_dimensions['C'].width = sheet.column_dimensions['D'].width = 4 * \
        sheet.column_dimensions['A'].width

    # 设置单元格对齐方式
    for row in sheet.iter_rows(min_row=1, max_row=20, min_col=1, max_col=20):
        for cell in row:
            cell.alignment = Alignment(horizontal='left', vertical='center')
    
    # 还是设置单元格对齐方式
    sheet['A1'].alignment = Alignment(horizontal='center', vertical='center')


# 设置中文字体样式
font_zh = Font(name='宋体')
for sheet in workbook.sheetnames:
    for row in workbook[sheet].rows:
        for cell in row:
            if isinstance(cell.value, str) and any('\u4e00' <= char <= '\u9fff' for char in cell.value):
                cell.font = font_zh

# 设置英文字体样式
font_en = Font(name='Times New Roman')
for sheet in workbook.sheetnames:
    for row in workbook[sheet].rows:
        for cell in row:
            if isinstance(cell.value, str) and all(not ('\u4e00' <= char <= '\u9fff') for char in cell.value):
                cell.font = font_en

# 保存
workbook.save(work_path)

结果展示

使用openpyxl来创建一个月的日程表,公主挥剑斩恶龙,python,openpyxl文章来源地址https://www.toymoban.com/news/detail-686559.html

到了这里,关于使用openpyxl来创建一个月的日程表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • mysql 创建学生表、课程表、学生选课表

    数据库系统概论(第五版)79页提供的三个表,为了我们上机操作容易,下面创建这三个表 学生-课程数据库中包含以下三个表 学生表:Student( Sno ,Sname,Ssex,Sage,Sdept) 课程表:Course( Cno ,Cname,Cpno,Ccredit) 学生选课表:SC( Sno , Cno ,Grade) 关系的主码加粗表示,各个表中的数据实例: St

    2024年02月11日
    浏览(43)
  • MYSQL SQL查询近7天,一个月的数据

    2023年04月26日
    浏览(53)
  • 【SQL】每类视频近一个月的转发量/率

    统计在有用户互动的最近一个月(按包含当天在内的近30天算,比如10月31日的近30天为10.2~10.31之间的数据)中,每类视频的转发量和转发率(保留3位小数)。 用户-视频互动表 tb_user_video_log (uid-用户ID, video_id-视频ID, start_time-开始观看时间, end_time-结束观看时间, if_follow-是否

    2024年02月12日
    浏览(54)
  • Fireboom on Sealos:半小时搞定一个月的接口工作

    后端日常开发工作中有 88% 的接口都是 CURD,占用了超过 6 成开发时间。这些工作枯燥乏味,且价值低下,不仅荒废了时间,还无法获得任何成就感。而 Fireboom 可在 2 分钟内,完成传统模式下 2 天才能完成的接口,让后端开发者不再搬砖。 Fb 是可视化 API 开发平台,可以快速

    2024年02月08日
    浏览(44)
  • HTML入门用标签写一个课程表

    完成样式 相关笔记

    2024年01月19日
    浏览(75)
  • 华为nova11系列:一个月的深度体验感受,告诉你值不值得入手

    作为一个追求时尚风格的年轻人, nova系列手机一直是我的关注重点。nova 11 Pro发布之后,独特少见的11号色一下子就戳中了我,于是第一时间我给我自己和我老婆分别下单了一台nova 11和nova 11 Pro。 作为主力机深度使用一个月后,可以说体验完完全全是超过我的期待值的。比起

    2024年02月16日
    浏览(72)
  • 老师,不干了,被偷家了,SAM分割任何事物模型,0样本分割了我研究一个月的数据

    点击订阅专栏 查看专栏列表和对应知识点,本文为seg SAM系列文章,在持续更新。

    2023年04月20日
    浏览(30)
  • Java使用LocalDate获取某个月的第一天和最后一天日期

    以一个月为周期进行查询时,如果用户没有选择查询的月份,我们想要默认查询当月或上个月的数据,这时,如何获取到一个月的第一天和最后一天日期呢? 以下介绍两种方式采用LocalDate格式日期的实现,以及采用LocalDateTime格式日期的实现。直接上代码! 输出结果为:

    2023年04月20日
    浏览(60)
  • openpyxl的基本使用

    安装 创建工作簿   打开工作簿 准确填写 遍历填写 整行追加填写 获取工作簿信息 获取单元格数据

    2024年01月18日
    浏览(33)
  • 使用fork函数创建一个进程

    pid_t fork(void) fork函数调用成功,返回两次 (1)返回值为0,代表当前进程是子进程 (2)返回值为非负数,代表当前进程是父进程 (3)调用失败,则返回-1 代码如下:

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包