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. Java Map对象的遍历

    一般情况下Map的实现类中用的最多的是 HashMap . Map的遍历也就是迭代 1. 在for-each循环中使用entries来遍历  (既要取键,又要取值) Map<String, St ...

  2. Ningx集群环境搭建

    Ningx集群环境搭建 Nginx是什么? Nginx ("engine x") 是⼀个⾼性能的 HTTP 和 反向代理 服务器,也是⼀个 IMAP/ POP3/SMTP 代理服务 ...

  3. Azure ARM (16) 基于角色的访问控制 (Role Based Access Control, RBAC) - 使用默认的Role

    <Windows Azure Platform 系列文章目录> 今天上午刚刚和客户沟通过,趁热打铁写一篇Blog. 熟悉Microsoft Azure平台的读者都知道,在老的Classic ...

  4. MapReduce极简教程

    一个有趣的例子 你想数出一摞牌中有多少张黑桃.直观方式是一张一张检查并且数出有多少张是黑桃?   MapReduce方法则是: 给在座的所有玩家中分配这摞牌 让每个玩家数自己手中的牌有几张是黑桃,然后 ...

  5. 出现java.sql.SQLException: No suitable driver的几种解决办法

    今天在用C3p0连接MySql数据库 这个时候出现了上面的错误, 一般来说这种错误有3个方向解决 一般都是db的配置的问题 ,一定要小心DB 的配置 八月 19, 2017 8:30:46 下午 co ...

  6. [err] 1055

    本人mysql安装在ubuntu16.04上,mysql版本是5.7.19:在创建表和插入数据时报了 [Err] 1055 - Expression #1 of ORDER BY clause is ...

  7. 【maven插件】maven-shade-plugin

    概述 该插件提供了将artifact打包到一个本地jar包的能力,包括其依赖关系以及一些参数如 shade -rename重命名依赖关系的包. 目标 shade:shade 绑定到建生命周期中的pac ...

  8. Codeforces Round #309 (Div. 2)D

    C. Kyoya and Colored Balls time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  9. GBDT(MART)概念简介

    GBDT(Gradient Boosting Decision Tree) 又叫 MART(Multiple Additive Regression Tree),是一种用于回归的机器学习算法,该算法由 ...

  10. Scala 中的隐式转换和隐式参数

    隐式定义是指编译器为了修正类型错误而允许插入到程序中的定义. 举例: 正常情况下"120"/12显然会报错,因为 String 类并没有实现 / 这个方法,我们无法去决定 Stri ...