• openpyxl基本操作


    参考资料:OpenPyXL的使用教程(一)

    openpyxl 基本操作

    from openpyxl import load_workbook, Workbook
    
    # ========
    # 新建工作簿+sheet
    wb = Workbook()  #guess_types=True
    
    #
    filepath = r'e:/aa.xlsx'
    wb = load_workbook(filepath)
    wb.save(filepath)  #如果存在会覆盖,as_template=True, 将文件保存为模板,默认False
    
    # sheet名列表
    #wb.get_sheet_names()  #已弃用
    wb.sheetnames
    [sheet.title for sheet in wb]
    
    # ========
    # 新建sheet
    ws = wb.create_sheet(0) #第一个位置
    ws = wb.create_sheet(title='1', index=1)
    ws.title = 'Sheet1'
    
    # 访问指定sheet
    ws = wb.active  #调用wb._active_sheet_index
    #ws = wb.get_sheet_by_name(sheet_name)  #已弃用
    ws = wb['Sheet1']
    
    ws.rows
    ws.columns
    #ws.sheet_properties.tabColor = "1072BA"  #改变sheet标签栏字体颜色
    
    # 增删改查
    ws['A4'] = 4
    ws.cell('A4')
    c = ws.cell(row = 4, column = 2)
    c.value = 4
    cell_range = ws['A1':'C2']
    #[cell.value for row in ws.iter_rows('A1:C2') for cell in row]
    
    # ========
    dataframe.to_excel(filepath, sheet_name=sheet_name, index=None)
    writer = pd.ExcelWriter(filepath, engine='openpyxl')
    dataframe.to_excel(excel_writer=writer, sheet_name=sheet_name, index=None)
    writer.save()
    writer.close()
    
    # ========
    def excelAddSheet(dataframe, filepath, sheet_name):
        import os
        from openpyxl import load_workbook, Workbook
        
        #FileNotFoundError
        if os.path.exists(filepath):
            #当表名已存在时,后面还可以添加参数,进行追加
            wb = load_workbook(filepath)  #keep_vba=True
            #sheet = book.active
            with pd.ExcelWriter(filepath, engine='openpyxl') as writer:
                writer.book = wb
                #stratrow=1, startcol=1
                dataframe.to_excel(excel_writer=writer, sheet_name=sheet_name, index=None)
            #writer.save()
            #writer.close()
        else:
            dataframe.to_excel(filepath, sheet_name=sheet_name, index=None)
    

      oracle2Excel

    import cx_Oracle
    import openpyxl
    
    # 用户名
    username = 'tj_20160217'
    # 密码
    password = 'tj_20160217'
    # IP
    ip = '10.0.250.19'
    # 端口
    port = '1521'
    # 数据库实例名
    servername = 'starbass'
    # 获取连接
    xlsxPath = 'E:\sysconfigen.xlsx'
    sheetName = 'sysconfigen'
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.title = sheetName
    with cx_Oracle.connect(username + '/' + password + '@' + ip + ':' + port + '/' + servername) as db:
        cur = db.cursor()
        result = cur.execute('select * from sysconfigen')
        row = 1
        column = 1
        # 获取表头
        for header in cur.description:
            ws.cell(row, column).value = header[0]
            column += 1
        row += 1
        for one_result in result.__iter__():
            column = 1
            for at in one_result:
                if at:
                    ws.cell(row, column).value = at
                else:
                    # 空值处理
                    ws.cell(row, column).value = 'null'
                column += 1
            row += 1
    wb.save(xlsxPath)
    

      

    参考资料:https://github.com/a18792721831/StudyPython/tree/master/helloExcel

     
  • 相关阅读:
    EF的四种开发模式
    EF4.0、4.3创建表达式树状动态查询总结
    使用vs2010复制粘贴代码时特别卡用一段时间就特别卡重启也没用
    vs2012运行项目提示无法连接 asp.net development server的解决方案
    泛组件技术
    intellij idea 编译 kafka 源码
    mycat 入门使用例子
    单机器搭建 zk 集群
    redis 版的 hello world
    zk observer 节点
  • 原文地址:https://www.cnblogs.com/iupoint/p/12009160.html
Copyright © 2020-2023  润新知