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格式的,否则会报错

  • 相关阅读:
    防火墙iptables 设置
    CentOS 6.5系统中安装配置MySQL数据库
    判断服务是否开启,应用是否安装,并安装应用
    判断是移动端还是PC端
    二维码的生成细节和原理
    onclick 常用手册
    PHP json_encode函数中需要注意的地方
    利用PHP SOAP扩展实现简单Web Services
    Symfony2学习笔记之事件分配器
    听 Fabien Potencier 谈Symfony2 之 《What is Symfony2 ?》
  • 原文地址:https://www.cnblogs.com/SH170706/p/10498648.html
Copyright © 2011-2022 走看看