zoukankan      html  css  js  c++  java
  • python中openpyxl的用法【安装,以及一些基本的操作, xlwt教程链接】

    xlwt教程地址  ----_<_>_----

    概述

    Openpyxl是python中简单易用的操作excel电子表格的一个模块。接下来呢,跟博主一起学习一下吧  ----_<_>_----

    首先先清楚一些excel的基本概念:

    在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是简单的一个格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。

    总结:

    • workbooks是excel一个工作表,一个工作表包含多个页,即包含多个sheet
    • sheet是excel当中的一页,一个工作页包含多个表格,即包含多个cell
    • cell是excel当中的一个工作表格

    安装

    pip install openpyxl
    

    接下来就介绍一下简单的操作

      

    # -*- coding:utf-8 -*-
    
    # 导入
    from openpyxl import workbook
    from openpyxl import load_workbook
    
    # 打开一个供作薄
    wb = load_workbook('file_name.xlsx')
    
    # 获取一张表
    sheet = wb.get_sheet_by_name("Sheet1")
    # 获取A1格的值
    print sheet['A1'].value
    # 获取表的最大工作行数
    print sheet.max_row
    # 获取表的最大工作列数
    print sheet.max_column
    # 打印C列的所有内容(以下格式代表不换行)
    for i in sheet["C"]:
        print i.value, '   ',
    print ''
    # 打印1行的所有内容
    for i in sheet["1"]:
        print i.value, '   ',
    print '' 

      注意:当读到的内容为None时说明该表格中的内容为空

    接下来呢新创建一个新的工作薄

    # -*- coding:utf-8 -*-
    
    
    from openpyxl import Workbook
    
    # 创建一个工作薄
    wb = Workbook()
    
    # 创建一个工作表(注意是一个属性)
    sheet = wb.active
    
    # excel创建的工作表名默认为sheet1,一下代码实现了给新创建的工作表创建一个新的名字
    sheet.title = 'create_sheet'
    
    # 向工作表中输入内容
    sheet['C3'] = 'hello word'
    
    for i in range(10):
        sheet['A%d' % (i+1)] = i+1
    
    # 向excel表中输入表达试
    sheet['C2'] = '=SUM(A:A)'
    
    # 保存一个文档
    wb.save('create_excel.xlsx')
    
    
    if __name__ == '__main__':
        pass
    

      保存之后会出现一下样式

     django中从服务端弹到浏览器段的方法

    思想:将信息保存到字符串缓冲区,然后指定返回到客户端的格式为excel格式即可

    代码:

    from openpyxl import load_workbook
    
    wb = load_workbook('file_name.xlsx')
    
    from io import BytesIO
    
    output = BytesIO()
    
    sheet = wb[wb.get_sheet_names()[0]]   # 获取第一个工作区
    
    sheet['A3'] =  'kayb'
    
    wb.save(output)   # 将wb文件保存到缓存区中
    
    response = HttpResponse(content_type='application/vnd.ms-excel')
    response['Content-Disposition'] = 'attachment;filename={0}.xlsx'.format(‘file_name’)
    response.write(output.getvalue())   # 获取缓冲区当中的值
    return response 

      

  • 相关阅读:
    主流浏览器内核概览
    图片圆角边框自适应宽高(深夜原创)
    <程序员节>
    谁说Float菜单不可以水平居中
    如何做好一份前端工程师的简历?
    重温textjustify:interideograph
    Firefox 4 beta 1发布——前端开发者须知
    让PHP程序永远在后台运行
    如何让Linux后台运行命令或php
    PHP执行后台程序 argv
  • 原文地址:https://www.cnblogs.com/kayb/p/7749503.html
Copyright © 2011-2022 走看看