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. 生成/etc/shadow文件中的密码

    shadow文件的格式就不说了.就说说它的第二列--密码列. 通常,passwd直接为用户指定密码就ok了.但在某些情况下,要为待创建的用户事先指定密码,还要求是加密后的密码,例如kickstart文 ...

  2. linux crontab详解

    服务的启动和停止 cron服务是linux的内置服务,但它不会开机自动启动.可以用以下命令启动和停止服务: /sbin/service crond start /sbin/service crond ...

  3. Could not execute JDBC batch update; SQL [delete from role where roleId=?]; constraint [null]; neste

    今天在写多个删除功能的时候出现了这么一个错误:意思是删除操作的时候,没有找到对应的外键. Cannot delete or update a parent row: a foreign key con ...

  4. JavaScript一些常用方法一

    整理以前的笔记,在学习JavaScript时候,经常会用到一些方法,但是有时忘掉了具体用法,因此记下.方便以后查阅. 这篇博文先说明这些方法的用途: splice().push().pop() .sh ...

  5. 深入理解计算机系统_3e 第二章家庭作业答案

    初始完成者:哈尔滨工业大学 李秋豪 许可:除2.55对应代码外(如需使用请联系randy.bryant@cs.cmu.edu),任何人可以自由的使用,修改,分发本文档的代码. 本机环境: (有一些需要 ...

  6. JSTL之c:set

    <jsp:setProperty>标记只能用来做一件事,那就是设置bean的性质. 但是,如果你想设置一个Map中的值呢?或者说想在Map中创建新的一项呢?或者只是希望创建一个新的请求作用 ...

  7. SVN学习笔记

    一.什么是SVN? Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库(repository) 中. ...

  8. 日期小demo

    有个项目需求是做个在日期上选择的,就是这种: 网上看了几个日期的demo都太厚重了,移植起来太麻烦,然后打算自己写. 就先写个简化的demo看看,主要有几个关键点: 首先要根据当前日期获取这个月有几天 ...

  9. ArrayListd的长度问题

    namespace ArrayListd的长度问题{ class Program { static void Main(string[] args) { //需要的参数是object类型 //alt+ ...

  10. Average of Levels in Binary Tree

    Given a non-empty binary tree, return the average value of the nodes on each level in the form of an ...