Python學習筆記_使用openpyxl操作Excel,在同一個文件里復制某一個sheet


應用場景:定制一個Excel模板文件,其中定義了一個模板Sheet,以此模板文件里的模板sheet為樣例,制作報表,里面有不止一個模板樣例Sheet

一、軟件環境:

1.OS:Win10 64位

2.Python 3.7

二、准備:在測試文件夾下准備一個Excel模板文件,ExcelMod.xlsx,sheet name:mod

樣例如下:

三、參考代碼:

#! -*- coding utf-8 -*-
#! Python Version 3.7

import openpyxl   
from openpyxl.styles import Font,Alignment


def main():
    sSourceFile="ExcelMod.xlsx"
    sTargetFile="Target.xlsx"
    wb = openpyxl.load_workbook(sSourceFile)
     
    copy_sheet1=wb.copy_worksheet(wb.worksheets[0])
    copy_sheet2=wb.copy_worksheet(wb.worksheets[0])
    copy_sheet3=wb.copy_worksheet(wb.worksheets[0])

    wb.save(sTargetFile)
    
    print("It is over")
    
if __name__=="__main__":
    main()

 

四、生成文件的樣例

生成的Sheet name分別是Mod Copy、Mod Copy1、Mod Copy2

五、Sheet name改名

    如果想定制復制好的sheet name,可對sheet name進行修改,下例,把復制的第一個sheet,改為sheet1

    參考代碼:

 

#! -*- coding utf-8 -*-
#! Python Version 3.7

import openpyxl   
from openpyxl.styles import Font,Alignment


def main():
    sSourceFile="ExcelMod.xlsx"
    sTargetFile="Target.xlsx"
    wb = openpyxl.load_workbook(sSourceFile)
     
    copy_sheet1=wb.copy_worksheet(wb.worksheets[0])
    copy_sheet2=wb.copy_worksheet(wb.worksheets[0])
    copy_sheet3=wb.copy_worksheet(wb.worksheets[0])

    copy_sheet1.title="Sheet1"
    
    wb.save(sTargetFile)
    
    print("It is over")
    
if __name__=="__main__":
    main()

生成結果:

其它兩個復制的sheet,也可以分別修改

copy_sheet2.title="Sheet2"
copy_sheet3.title="Sheet3"

六、注意事項:Excel模板文件,只能是.xlsx格式的,不能是早期版本的.xls格式的,否則會報錯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM