最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python生成橫向年度日歷的代碼實(shí)現(xiàn)

 更新時(shí)間:2026年01月28日 09:05:36   作者:U盤失蹤了  
文章介紹了使用Python的calendar模塊和openpyxl庫生成Excel日歷的方法,并描述了如何實(shí)現(xiàn)動(dòng)態(tài)列寬、嚴(yán)格對(duì)齊和樣式統(tǒng)一,以生成美觀專業(yè)的日歷,需要的朋友可以參考下

技術(shù)選型

  • calendar模塊:Python 內(nèi)置模塊,用于獲取每個(gè)月的天數(shù)和日期,不用自己計(jì)算平年閏年。
  • openpyxl:用于創(chuàng)建和編輯 Excel 文件,支持合并單元格、設(shè)置樣式等操作,生成的文件可直接在 WPS/Excel 中打開。

核心思路

  1. 動(dòng)態(tài)列寬:每個(gè)月的標(biāo)題合并列數(shù)等于該月的實(shí)際天數(shù)(如 1 月 31 列、2 月 28 列),徹底解決空白單元格問題。
  2. 嚴(yán)格對(duì)齊:標(biāo)題和日期的起始列完全一致,保證視覺上嚴(yán)絲合縫。
  3. 樣式統(tǒng)一:設(shè)置統(tǒng)一的字體和對(duì)齊方式,讓生成的日歷更美觀專業(yè)。
import calendar
from openpyxl import Workbook
from openpyxl.styles import Alignment, Font
from openpyxl.utils import get_column_letter

def generate_aligned_calendar(target_year):
    """
    生成標(biāo)題與日期嚴(yán)格對(duì)齊的橫向年度日歷
    核心修復(fù):每個(gè)月標(biāo)題合并的列數(shù) = 該月實(shí)際天數(shù),無空白單元格
    """
    wb = Workbook()
    ws = wb.active
    ws.title = f"{target_year}年日歷"

    # 定義樣式
    title_font = Font(bold=True, size=12)
    title_align = Alignment(horizontal='center', vertical='center')
    date_align = Alignment(horizontal='right', vertical='center')

    current_col = 1  # 記錄當(dāng)前起始列,動(dòng)態(tài)累加

    for month in range(1, 13):
        # 獲取當(dāng)前月份的實(shí)際天數(shù)(關(guān)鍵:用實(shí)際天數(shù)代替固定31)
        days_in_month = calendar.monthrange(target_year, month)[1]
        end_col = current_col + days_in_month - 1

        # 1. 寫入并合并月份標(biāo)題(合并列數(shù) = 該月天數(shù))
        month_title = f"{month}月"
        ws.merge_cells(start_row=1, start_column=current_col,
                       end_row=1, end_column=end_col)
        title_cell = ws.cell(row=1, column=current_col, value=month_title)
        title_cell.font = title_font
        title_cell.alignment = title_align

        # 2. 寫入日期(從當(dāng)前列開始,連續(xù)寫入1-月末)
        for day in range(1, days_in_month + 1):
            date_cell = ws.cell(row=2, column=current_col + day - 1, value=day)
            date_cell.alignment = date_align

        # 更新下一個(gè)月的起始列
        current_col = end_col + 1

    # 統(tǒng)一調(diào)整列寬
    for col in range(1, current_col):
        ws.column_dimensions[get_column_letter(col)].width = 2.5

    # 保存文件
    file_name = f"{target_year}年對(duì)齊版日歷.xlsx"
    wb.save(file_name)
    print(f"? {target_year}年日歷生成成功!文件:{file_name}")
    print(f"?? 修復(fù)效果:標(biāo)題與日期嚴(yán)格對(duì)齊,無空白單元格")

# 調(diào)用示例:生成2026年日歷
if __name__ == "__main__":
    generate_aligned_calendar(2026)

效果圖

需求角色人員工時(shí)1月
12345678910111213141516171819202122232425262728293031
登錄功能項(xiàng)目經(jīng)理小強(qiáng)0
產(chǎn)品經(jīng)理小明11
開發(fā)小龍11
測(cè)試小王0.30.3
注冊(cè)功能項(xiàng)目經(jīng)理小強(qiáng)0
產(chǎn)品經(jīng)理小明0
開發(fā)小龍0
測(cè)試小王0
注銷功能項(xiàng)目經(jīng)理小強(qiáng)0
產(chǎn)品經(jīng)理小明0
開發(fā)小龍0
測(cè)試小王0

到此這篇關(guān)于基于Python生成橫向年度日歷的代碼實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python生成橫向年度日歷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于Python+Tkinter開發(fā)一個(gè)表格比對(duì)和&整理工具

    基于Python+Tkinter開發(fā)一個(gè)表格比對(duì)和&整理工具

    日常辦公和數(shù)據(jù)處理中,Excel表格是高頻使用的工具,本文將使用Python和Tkinter開發(fā)一個(gè)表格比對(duì)和&整理工具,感興趣的小伙伴可以了解下
    2025-12-12
  • Python中的魔法方法__repr__和__str__用法實(shí)例詳解

    Python中的魔法方法__repr__和__str__用法實(shí)例詳解

    這篇文章主要介紹了Python中的__repr__和__str__方法,它們分別用于提供對(duì)象的官方字符串表示和用戶友好的字符串表示,通過重寫這兩個(gè)方法,可以自定義對(duì)象的打印輸出,文中通過代碼將用法介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • Python自動(dòng)化辦公之郵件發(fā)送全過程詳解

    Python自動(dòng)化辦公之郵件發(fā)送全過程詳解

    這篇文章主要介紹了Python自動(dòng)化辦公之郵件發(fā)送全過程詳解,使用Python實(shí)現(xiàn)自動(dòng)化郵件發(fā)送,可以讓你擺脫繁瑣的重復(fù)性業(yè)務(wù),可以節(jié)省非常多的時(shí),下面我們就來看看具體的操作配置吧
    2022-01-01
  • Python安裝本地.whl文件的流程及注意事項(xiàng)

    Python安裝本地.whl文件的流程及注意事項(xiàng)

    在Python的生態(tài)環(huán)境中.whl文件是一種預(yù)編譯的二進(jìn)制包,用于分發(fā)和安裝Python庫,這篇文章主要給大家介紹了關(guān)于Python安裝本地.whl文件的流程及注意事項(xiàng),文中講解了下載文件、安裝pip、使用pip安裝whl文件、驗(yàn)證安裝以及注意事項(xiàng),需要的朋友可以參考下
    2024-11-11
  • 基于Python編寫一個(gè)簡(jiǎn)單的http服務(wù)器

    基于Python編寫一個(gè)簡(jiǎn)單的http服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫一個(gè)簡(jiǎn)單的http服務(wù)器,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Pytorch實(shí)現(xiàn)將模型的所有參數(shù)的梯度清0

    Pytorch實(shí)現(xiàn)將模型的所有參數(shù)的梯度清0

    這篇文章主要介紹了Pytorch實(shí)現(xiàn)將模型的所有參數(shù)的梯度清0,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 一文解析Python?FastAPI進(jìn)行異常處理的詳細(xì)方法

    一文解析Python?FastAPI進(jìn)行異常處理的詳細(xì)方法

    這篇文章主要為大家詳細(xì)介紹了Python?FastAPI中HTTPException、WebSocketException等常見異常的捕獲與處理技巧,涵蓋從基礎(chǔ)配置到全局異常處理器的完整實(shí)踐,感興趣的小伙伴可以了解下
    2026-01-01
  • 一文了解Python中NotImplementedError的作用

    一文了解Python中NotImplementedError的作用

    NotImplementedError是一個(gè)內(nèi)置異常類,本文主要介紹了一文了解Python中NotImplementedError的作用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • python使用tkinter實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    python使用tkinter實(shí)現(xiàn)簡(jiǎn)單計(jì)算器

    這篇文章主要為大家詳細(xì)介紹了python使用tkinter實(shí)現(xiàn)簡(jiǎn)單計(jì)算器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 如何在python中處理配置文件代碼實(shí)例

    如何在python中處理配置文件代碼實(shí)例

    這篇文章主要介紹了如何在python中處理配置文件代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

苍南县| 乐清市| 米脂县| 上饶县| 井冈山市| 汉中市| 元氏县| 满城县| 瓮安县| 厦门市| 万山特区| 辽阳县| 龙岩市| 息烽县| 香格里拉县| 商都县| 徐州市| 吉水县| 安庆市| 青阳县| 商洛市| 平昌县| 厦门市| 正定县| 芒康县| 开封县| 孝义市| 贵南县| 治多县| 河源市| 霍林郭勒市| 莎车县| 紫阳县| 黄冈市| 临汾市| 肇庆市| 滦南县| 汕头市| 环江| 鹤壁市| 芷江|