zoukankan      html  css  js  c++  java
  • 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格式的,否则会报错

  • 相关阅读:
    ssh-keygen的使用方法(无密码访问)
    ubuntu solute two different terminals cmd
    ubuntu 查看系统是32位还是64位
    pyplot 绘图与可视化
    python 正则表达式的处理
    python&pandas 与mysql 连接
    Ubuntu 11.10 H3C iNode 客户端安装
    Vijos1055(极大子矩阵)
    Vijos1055(极大子矩阵)
    luoguP2701 [USACO5.3]巨大的牛棚Big Barn(极大子矩阵)
  • 原文地址:https://www.cnblogs.com/SH170706/p/10498648.html
Copyright © 2011-2022 走看看