'''
Excel文件三个对象 workbook: 工作簿,一个excel文件包含多个sheet。
sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。
cell: 单元格,存储数据对象
''' import openpyxl
from openpyxl import Workbook, load_workbook wb = Workbook()
ws1 = wb.active # active方法得到第一个sheet
ws2 = wb.create_sheet('MySheet1') # 插入到最后default
ws3 = wb.create_sheet('MySheet3', 2) # 插入到制定位置,0表示最前面 ws1.title = 'newSheet1' # 创建的sheet的名称会自动创建,按照sheet,sheet1,sheet2自动增长,通过title属性可以修改其名称
ws4 = wb.create_sheet(title='Sheet4')
ws4.sheet_properties.tabColor = "1072BA"
# 默认的sheet的tab是白色的,可以通过 RRGGBB颜色来修改sheet_properties.tabColor属性从而修改sheet tab按钮的颜色:
# 当你设置了sheet的名称,可以将其看成workbook中的一个key。也可以使用openpyxl.workbook.Workbook.get_sheet_by_name() 方法 # 单元格赋值,3种方式
ws4.cell(row=2, column=3, value=100)
ws4.cell(row=2, column=4).value = 200
ws4['E2'] = 300 ws4.cell(3, 3, 666) # ws.append(iterable)
# 添加一行到当前sheet的最底部(即逐行追加从第一行开始) iterable必须是list,tuple,dict,range,generator类型的。 1,如果是list,将list从头到尾顺序添加。 2,如果是dict,按照相应的键添加相应的键值
# ws.append([‘This is A1’, ‘This is B1’, ‘This is C1’])
# ws.append({‘A’: ‘This is A1’, ‘C’: ‘This is C1’})
# ws.append({1: ‘This is A1’, 3: ‘This is C1’}) tableTitle = ['age' , 'name' , 'sex'] line1 = ['18', 'John', 'M']
line2 = ['20', 'Helen', 'F'] for col in range(len(tableTitle)):
c = col + 1
ws1.cell(row=1, column=c).value = tableTitle[col] excel1 = load_workbook('E:/test01.xlsx')
excel2 = load_workbook('E:/test02.xlsx')
# print(excel1.sheetnames)
sheetname1 = excel1.sheetnames[-1]
sheetname2 = excel2.sheetnames[-1] # t1 = excel1[sheetname1]
t1 = excel1['sheetl']
t2 = excel2[sheetname2] t1['D2'] = 'hello' for i in range(10):
t1["C%d" % (i+1)].value = i + 1 t1['E1'].value = "=SUM(C7:C8)" t1.append(line1)
t1.append(line2) print(t1['E1'].value)
excel1.save('E:/new01.xlsx') # print("A列:", t1['A'])
# print("1行:", t1['1'])
# print("B6格的值:", t1['B6'].value)
# print("A4格的值:", t1.cell(row=4, column=1).value) # 可简写为 t1.cell(4,1).value
#
# 需写入的表,再打开的状态下是不能成功执行代码的 # 先用load_workbook读取一个excel,修改之后save成原来的文件,会报错:PermissionError: [Errno 13] # print("最大行数:", t1.max_row)
# print("最大列数:", t1.max_column)
# print("最小列数:", t1.min_column)
# print("\n")
# print("B列的值为:")
# for i in t1['B']:
# print(i.value, end='\n') print("\n")
print("表格内容如下:")
for r in range(t1.max_row):
r += 1
for c in range(t1.max_column):
c += 1
print(t1.cell(r, c).value, end="\t") # 使用end实现不换行输出
print("\n") # for row in t1.iter_rows(min_col=1, min_row=1, max_col=3, max_row=3, values_only=True):
# for cell in row:
# print(cell, end='\n')

Python使用openpyxl模块操作Excel表格的更多相关文章

  1. 使用xlsxwriter模块和xlrd模块操作Excel表格

    1.xlsxwriter模块介绍:主要用来生成excel表格,插入数据.插入图标等表格操作 如下代码:目的是往demo01.xlsx插入数据和图片 # 导入xlsxwriter模块:主要用来修改表格的 ...

  2. Python使用xlwt模块 操作Excel文件

    导出Excel文件     1. 使用xlwt模块 import xlwt import xlwt    # 导入xlwt # 新建一个excel文件 file = xlwt.Workbook() # ...

  3. 利用openpyxl模块处理excel表格

    一.选取表格中的内容创建图表 1.openpyxl支持利用工作表中单元格的数据,创建条形图.折线图.散点图等.步骤如下: 1).从一个矩形区域选择的单元格,创建一个Reference对象. 2).通过 ...

  4. 使用openpyxl模块将Excel中的数据导入数据库

    这里将不介绍openpyxl模块的详细操作. 主要就是记录一个使用openpyxl模块将Excel表格的数据导入数据库中的实例. from openpyxl import load_workbook ...

  5. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  6. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  7. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  8. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  9. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

随机推荐

  1. AJAX的学习与使用>前端技术系列

    目录 AJAX的学习与使用 什么是AJAX 为什么要使用AJAX AJAX接收服务器响应数据的3种格式 文本格式(重要) JSON格式(重要) 服务器端响应实体类JSON格式的3种方式 修改实体类的t ...

  2. Jarvis OJ部分逆向

    Jarvis OJ部分逆向题解 很久没有写博客了,前天上Jarvis OJ刷了几道逆向,保持了一下感觉.都是简单题目,写个writeup记录一下. easycrackme int __cdecl ma ...

  3. Bugku-域名解析

    做题之前了解一下域名解析,域名是为了方便记忆而专门建立的一套地址转换系统,要访问一台互联网上的服务器,最终还必须通过IP地址来实现,域名解析就是将域名重新转换为IP地址的过程.一个域名对应一个IP地址 ...

  4. Salesforce Integration 概览(六) UI Update Based on Data Changes(UI自动更新基于数据变更)

    Salesforce用户界面必须由于Salesforce数据的更改而自动更新.这个场景其实在我所经历的项目中用到的不是特别多,因为客户可能直接点击刷新按钮就直接看到了最新的数据,而不是那种一直不刷新然 ...

  5. 复杂字符串转List<JSONObject>

    public static List<JSONObject> getlist(String data){ ObjectMapper mapper = new ObjectMapper(); ...

  6. Vue实现点击按钮进行文件下载(后端Java)

    最近项目中需要实现点击按钮下载文件的需求,前端用的vue,因为文件是各种类型的,比如图片.pdf.word之类的.这里后端是可以返回文件的地址给前端的,但我看了下网上各种五花八门的答案,感觉都不是我想 ...

  7. UVa11054 Gergovia的酒交易(数学归纳法)

    直线上有\(n\)个等距村庄,每个村庄要么买酒,要么卖酒.设第\(i\)个村庄对酒的需求为\(A_i\)(\(-1000 \leqslant A_i \leqslant 1000\)),其中\(A_i ...

  8. springboot打包问题

    pom.xml <build> <plugins> <plugin> <groupId>org.springframework.boot</gro ...

  9. Shell-14-常用命令和工具

    常用命令 有人说 Shell 脚本是命令堆积的一个文件, 按顺序去执行 还有人说想学好 Shell 脚本,要把 Linux 上各种常见的命令或工具掌握了,这些说法都没错 Shell 语言本身在语法结构 ...

  10. Sqli-Labs less17-19

    less-17 前置基础知识: UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为XML文 ...