1、    导入Excel模块:from openpyxl import Workbook

 2、    创建Excel对象:wb=Workbook()

 3、    创建sheet:ws1=wb.create_sheet(“name”)

 4、    指定位置创建某个sheet:ws1=create_sheet(“name”,0)

 5、    修改sheet名字:ws1.title=”new name”;中文名字ws1.title=u”new name”

 6、    设定sheet背景属性ws1.sheet_properties_tabColor=”108888”

 7、    获取某个sheet对象:wb[“sheet name”]

 8、    获取全部sheet的名字:wb.sheetnames或wb.get_sheet_names() 返回的是一个list

 9、    复制一个sheet:wb.copy_worksheet(wb[“sheet name”])

 10、   给固定单元格赋值:

 (1) ws1[“A1”]=3.1415

 (2) ws1[“B2”]=”王某某”

 (3) ws1.cell(row=4,column=2,value=10)

 11、   获取某个单元格的值

 (1) ws1[“A1”].value

 (2) ws1.cell(row=4,column=2,value=10).value

 12、   获取某一列的值

 (1) ws1[“A”];ws1[“A:C”]为获取A到C列的值

 (2) for cell in ws1[“A”]:print cell.value

 13、   获取某几行的值

 (1) ws1[1:3]

 (2) for row in ws[1:3]:print row.value

 14、   获取某几行几列的值

 for row in ws1.iter_rows(min_row=1,min_col=1,max_col=3,max_row=3):

 for cell in row:

    print cell.value

 15、   获取所有行:ws1.rows

 16、   获取所有列ws1.columns

 17、   保存Excel:wb.save(“e:\\test4\\sample.xlsx”)

 18、   打开Excel文件:

 import xlrd

 data=xlrd.open_workbook(“e:\\test4\\sample.xlsx”)

 19、   写入excel文件内容如果是中文不需要加”u”,创建sheet名称时如果是中文需要加”u”

 #练习:创建一个excel,第一行是1,2,3,第二行是4,5,6,第三行是7,8,9,保存在磁盘上,然后并且把每一个值读出来,并输出

 from openpyxl import Workbook

 wb=Workbook()

 ws1=wb.create_sheet(u"某某")

 i=1

 for m in range(1,4):

     for n in range(1,4):

         ws1.cell(row=m,column=n,value=i)

         i+=1

 for m in range(1,4):

     for n in range(1,4):

         print ws1.cell(row=m,column=n).value

 for column in ws1["A:C"]:

     for cell in column:

         print cell.value

 wb.save("e:\\test4\\s2.xlsx")

 #练习:显示小数或百分数

 from openpyxl import Workbook

 from openpyxl import load_workbook

 wb = load_workbook('e:\\test4\\s2.xlsx')

 wb.guess_types = True

 #这个的意思是只获取第一个sheet

 ws=wb.active

 ws["D1"]="12%"

 print ws["D1"].value

 wb.save("e:\\test4\\s2.xlsx")

 #练习:

 from openpyxl import Workbook

 from openpyxl import load_workbook

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws=wb.active

 rows=[]

 for row in ws.iter_rows():

     rows.append(row)

 print rows                      #所有行,存的是每一行的对象

 print rows[0]                    #获取第一行

 print rows[0][0]                #获取第一行第一列的单元格对象

 print rows[0][0].value                #获取第一行第一列的单元格对象的值

 print rows[len(rows)-1]                #获取最后行

 print rows[len(rows)-1][len(rows[0])-1]        #获取第后一行和最后一列的单元格对象

 print rows[len(rows)-1][len(rows[0])-1].value    #获取第后一行和最后一列的单元格对象的值

 #练习:

 from openpyxl import Workbook

 from openpyxl import load_workbook

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws=wb.active

 cols=[]

 for col in ws.iter_cols():

     cols.append(col)

 print cols                      #所有列

 print cols[0]                      #获取第一列

 print cols[0][0]                  #获取第一列的第一行的单元格对象

 print cols[0][0].value              #获取第一列的第一行的值

 print "*"*30

 print cols[len(cols)-1]              #获取最后一列

 print cols[len(cols)-1][len(cols[0])-1]      #获取最后一列的最后一行的单元格对象

 print cols[len(cols)-1][len(cols[0])-1].value      #获取最后一列的最后一行的单元格对象的

 #练习:判断类型

 from openpyxl import Workbook

 from openpyxl import load_workbook

 import datetime

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws=wb.active

 wb.guess_types = True

 ws["A1"]=datetime.datetime(2010, 7, 21)

 print ws["A1"].number_format

 ws["A2"]="12%"

 print ws["A2"].number_format

 ws["A3"]= 1.1

 print ws["A4"].number_format

 ws["A4"]= "中国"

 print ws["A5"].number_format

 # Save the file

 wb.save('e:\\test4\\s2.xlsx')

 #练习:Excel中用公式

 from openpyxl import Workbook

 from openpyxl import load_workbook

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws1=wb.active

 ws1["A1"]=1

 ws1["A2"]=2

 ws1["A3"]=3

 ws1["A4"] = "=SUM(1, 1)"

 ws1["A5"] = "=SUM(A1:A3)"  #这里打印的是Excel的公式,而不是公式计算后的结果

 print ws1["A4"].value  #打印的是公式内容,不是公式计算后的值,程序无法取到计算后的值

 print ws1["A5"].value  #打印的是公式内容,不是公式计算后的值,程序无法取到计算后的值

 # Save the file

 wb.save('e:\\test4\\s2.xlsx')

 #练习:合并单元格

 from openpyxl import Workbook

 from openpyxl import load_workbook

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws1=wb.active

 from openpyxl.workbook import Workbook

 wb = Workbook()

 ws = wb.active

 ws.merge_cells('A2:D2')  #合并单元格,值不保留

 #ws.unmerge_cells('A2:D2') #不合并单元格

 # or equivalently

 ws.merge_cells(start_row=2,start_column=1,end_row=2,end_column=4)

 #ws.unmerge_cells(start_row=2,start_column=1,end_row=2,end_column=4)

 # Save the file

 wb.save('e:\\test4\\s2.xlsx')

 #练习:隐藏列

 from openpyxl import load_workbook

 from openpyxl.drawing.image import Image

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws1=wb.active

 ws1.column_dimensions.group('A', 'D', hidden=True)   #隐藏a到d列范围内的列

 # Save the file

 wb.save('e:\\test4\\s2.xlsx')

 #练习:生成柱状图

 from openpyxl import load_workbook

 from openpyxl import Workbook

 from openpyxl.chart import BarChart, Reference, Series

 wb = load_workbook('e:\\test4\\s2.xlsx')

 ws1=wb.active

 wb = Workbook()

 ws = wb.active

 for i in range(10):

     ws.append([i])

 values = Reference(ws, min_col=1, min_row=1, max_col=1, max_row=10)

 chart = BarChart()

 chart.add_data(values)

 ws.add_chart(chart, "E15")

 # Save the file

 wb.save('e:\\test4\\s2.xlsx')

【Python】Excel-3的更多相关文章

  1. 【Python】excel读写操作 xlrd & xlwt

    xlrd ■ xlrd xlrd模块用于读取excel文件内容 基本用法: workbook = xlrd.open_workbook('文件路径') workbook.sheet_names() # ...

  2. 【Python】Excel操作-2 (07版本以下Excel操作,其实不怎么用了,麻蛋,预习了2天课间才发现,还说怎么跟老师讲的不一样)

    #保存修改Excel import xlrd from xlutils.copy import copy #打开Excel文档并将内容读取到内存 readbook=xlrd.open_workbook ...

  3. 【Python】Excel操作-1

    #练习:创建Excel 如果要创建的Excel已经存在并打开,会报错 from openpyxl import Workbook wb=Workbook() #创建文件对象 ws=wb.active ...

  4. 【Python】Excel数据处理

    1.环境准备 > python2.7 > xlrd,xlwt模块下载与安装,前者用来读取excel文件,后者用来写入excel文件 2.实战案例 案例场景: > excel1中包含某 ...

  5. 【Python】Excel处理

    1.包导入 from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.compat import r ...

  6. 【Python②】python之首秀

       第一个python程序 再次说明:后面所有代码均为Python 3.3.2版本(运行环境:Windows7)编写. 安装配置好python后,我们先来写第一个python程序.打开IDLE (P ...

  7. 【python】多进程锁multiprocess.Lock

    [python]多进程锁multiprocess.Lock 2013-09-13 13:48 11613人阅读 评论(2) 收藏 举报  分类: Python(38)  同步的方法基本与多线程相同. ...

  8. 【python】SQLAlchemy

    来源:廖雪峰 对比:[python]在python中调用mysql 注意连接数据库方式和数据操作方式! 今天发现了个处理数据库的好东西:SQLAlchemy 一般python处理mysql之类的数据库 ...

  9. 【python】getopt使用

    来源:http://blog.chinaunix.net/uid-21566578-id-438233.html 注意对比:[python]argparse模块 作者:limodou版权所有limod ...

  10. 【Python】如何安装easy_install?

    [Python]如何安装easy_install? http://jingyan.baidu.com/article/b907e627e78fe146e7891c25.html easy_instal ...

随机推荐

  1. 创建springboot的聚合工程(三)

    springboot聚合工程之添加mybatis数据库持久化操作 在boot-polymer-repository工程添加mybatis的相关依赖 <project xmlns="ht ...

  2. leetcode-algorithms-1 two sum

    leetcode-algorithms-1 two sum Given an array of integers, return indices of the two numbers such tha ...

  3. oracle数据库中字符乱码

    1.1         88.152 os已安装中文包,以下确认os层面中文是否可以显示 1.2         88.153 os没有安装中文包,以下确认os层面中文无法显示 1.3         ...

  4. 专题[vjudge] - 数论0.1

    专题[vjudge] - 数论0.1 web-address : https://cn.vjudge.net/contest/176171 A - Mathematically Hard 题意就是定义 ...

  5. for循环的字节码

    源代码: public class Wizard { private int age; private void forCycle() { for (int i = 0; i < 10; i++ ...

  6. [转]使用CMS垃圾收集器产生的问题和解决方案

    在之前的一篇文章<CMS vs. Parallel GC>里通过实验的方式对比了并行和并发GC的优缺点,在文章结尾提到,CMS并行GC是大多数应用的最佳选择,然而, CMS并不是完美的,在 ...

  7. 牛客网 PAT 算法历年真题 1011 : 个位数统计 (15)

    个位数统计 (15) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 给定一个k位整数N = dk-1*10k- ...

  8. C#中使用SqlBulkCopy的批量插入和OracleBulkCopy的批量插入

    1.首先我们做一下准备工作,在sql server和oracle分别建立一个Student表 oracle中 --创建Student表 -- create table Student( stuId n ...

  9. dgango中admin下添加搜索功能

    admin下添加搜索功能: 在表单中加入search_fields = ['ip','hostname']   可模糊匹配 当有人在管理搜索框中进行搜索时,Django将搜索查询分解成单词,并返回包含 ...

  10. 【阅读笔记】《C程序员 从校园到职场》第五章 内存操作

    参考:   让你提前认识软件开发(8):memset()与memcpy()函数  https://blog.csdn.net/zhouzxi/article/details/22478081 让你提前 ...