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

  

python中openpyxl的用法【安装,以及一些基本的操作】的更多相关文章

  1. python中MySQLdb模块用法实例

    篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...

  2. python 中del 的用法

    python中的del用法比较特殊,新手学习往往产生误解,弄清del的用法,可以帮助深入理解python的内存方面的问题. python的del不同于C的free和C++的delete. 由于pyth ...

  3. python中argparse模块用法实例详解

    python中argparse模块用法实例详解 这篇文章主要介绍了python中argparse模块用法,以实例形式较为详细的分析了argparse模块解析命令行参数的使用技巧,需要的朋友可以参考下 ...

  4. 【313】python 中 print 函数用法总结

    参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...

  5. python中hashlib模块用法示例

    python中hashlib模块用法示例 我们以前介绍过一篇Python加密的文章:Python 加密的实例详解.今天我们看看python中hashlib模块用法示例,具体如下. hashlib ha ...

  6. Python Deque 模块使用详解,python中yield的用法详解

    Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...

  7. Python中super的用法【转载】

    Python中super的用法[转载] 转载dxk_093812 最后发布于2019-02-17 20:12:18 阅读数 1143  收藏 展开 转载自 Python面向对象中super用法与MRO ...

  8. python中的有趣用法

    本文给除了python中几个有趣的用法,可以给我们不一样的启发 1: Python中模拟使用C++ 中的   cout << import sys  class ostream: def  ...

  9. Python中With的用法

    在看Dive Into Python中有关描述文件读写那章节的时候,看到了有关with的用法,查阅下相关资料,记录下来,以备后用. 官方的reference上有关with statement是这样说的 ...

随机推荐

  1. lintcode.68 二叉树后序遍历

    二叉树的后序遍历    描述 笔记 数据 评测 给出一棵二叉树,返回其节点值的后序遍历. 您在真实的面试中是否遇到过这个题? Yes 样例 给出一棵二叉树 {1,#,2,3}, 1 \ 2 / 3 返 ...

  2. Hadoop的safeMode

    当集群启动的时候,会首先进入到安全模式.系统在安全模式下,会检查数据块的完整性.假设我们设置的副本数(即参数dfs.replication)是5,那么在dataNode上就应该有5个副本存在,假设只存 ...

  3. ACM学习之路__HDU 1045

    Fire Net Description : Suppose that we have a square city with straight streets. A map of a city is ...

  4. php多态

    多态性是指相同的操作或函数.过程可作用于多种类型的对象上并获得不同的结果.不同的对象,收到同一消息将可以产生不同的结果,这种现象称为多态性. 多态性允许每个对象以适合自身的方式去响应共同的消息.多态性 ...

  5. 写了一个迷你confirm弹窗插件,有取消和确认操作处理并支持单个确认使用弹窗和锁屏禁止滚动

    由于项目想精简不想用其他第三方的ui插件,又很需要像confirm等小效果来完善交互,且使用的频率也是相当的高,于是自己造了一个,省时也省力 代码已经粘贴出来,直接复制即可看到效果,高手勿喷,可以相互 ...

  6. E - 钱币兑换问题

          在一个国家仅有1分,2分,3分硬币,将钱N兑换成硬币有很多种兑法.请你编程序计算出共有多少种兑法. Input每行只有一个正整数N,N小于32768. Output对应每个输入,输出兑换方 ...

  7. UI自动化测试(二)浏览器操作及对元素的定位方法(xpath定位和css定位详解)

    Selenium下的Webdriver工具支持FireFox(geckodriver). IE(InternetExplorerDriver).Chrome(ChromeDriver). Opera( ...

  8. Huge Mission

    Huge Mission Problem Description Oaiei is busy working with his graduation design recently. If he ca ...

  9. bzoj1087 [SCOI2005][状压DP] 互不侵犯King (状压)

    在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. Input 只有一行,包含两个数N,K ( 1 ...

  10. Day2 python基础学习

    http://www.pythondoc.com/ Python中文学习大本营 本节内容: 一.字符串操作 二.列表操作 三.元组操作 四.字典操作 五.集合操作 六.字符编码操作 一.字符串操作 1 ...