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

  • 相关阅读:
    windows 环境下在anaconda 3中安装python2和python3两个环境(python2和python3共存)
    python 中,如何在一个函数中调用另一个函数返回的多个值中的一个?
    Coursera 机器学习 第一周 学习笔记
    正则表达式 注释
    正则表达式 分组
    24_04SpringMVC实现文件上传及拦截器
    前端之CSS基础
    前端之html
    MySQL数据库实战之优酷
    数据库基础加练习
  • 原文地址:https://www.cnblogs.com/SH170706/p/10498648.html
Copyright © 2011-2022 走看看