通过openpyxl模块创建workbook时,无需本地事先创建好excel,它会直接创建一个新的excel文件

创建workbook时,会至少包含一个worksheet

注意:openpyxl模块只支持.xlsx,.xlsm,.xltx,.xltm格式

使用示例:

导入openpyxl模块的Workbook类

from openpyxl import Workbook 

创建workbook,并获取workbook中第一个sheet

wb = Workbook() #创建一个workbook
ws = wb.active #获取当前workbook的第一个worksheet,默认的索引值是0,它是可以改变的

创建worksheet

ws1 = wb.create_sheet() #在当前workbook的结尾处追加一个新的worksheet,名称是自动赋值的,如Sheet1,Sheet2,....
ws2 = wb.create_sheet(0) #在当前workbook的指定索引处追加一个新的worksheet,名称是自动赋值的,如Sheet1,Sheet2,....
ws1.title = "New Title1" #指定sheet名称为New Title1
ws2.title = "New Title2" #指定sheet名称为New Title2 ws3 = wb.create_sheet("MyNewSheet1") #在当前workbook的结尾追加一个新的worksheet,并指定sheet名称为MyNewSheet1
ws4 = wb.create_sheet("MyNewSheet2", 0) #在当前workbook的指定索引处追加一个新的worksheet,并指定sheet名称为MyNewSheet2

通过worksheet名称获取worksheet

ws5 = wb["MyNewSheet2"]
print(wb.sheetnames) #以列表形式输出该workbook中所有的worksheet
for sheet in wb:
print(sheet.title) #循环输出workbook的各个worksheet的名称

设定worksheet的颜色

ws.sheet_properties.tabColor = "1072BA"  #设定worksheet的颜色,设定值为RRGGBB颜色代码

拷贝当前worksheet

source = wb.active
target = wb.copy_worksheet(source)

注意:

  1) 不支持将一个worksheet从一个workbook拷贝至另一个workbook
  2) 如果当前workbook是read-only或者write-only模式,则也不支持worksheet的拷贝
  3) 拷贝worksheet时,不是所有的worksheet的内容都会被拷贝,具体可拷贝内容如下:
      a) 单元格,包括里面的值,样式,链接和注释式可以被拷贝
      b) 某些worksheet的属性,如维度,格式及属性可以被拷贝
      c) 以上其他的workbook和worksheet属性不会被拷贝,如图片,图形等

将当前设置保存到本地文件

wb.save("sample.xlsx") #以上处理都是在内存中的,save表示将最终的结果导出到本地文件上

创建workbook及相关操作的更多相关文章

  1. workbook数据相关操作

    访问单个单元格 c = ws['A4'] #返回单元格A4,如果单元格不存在,则会自动创建 ws['A4'] = 4 #为单元格A4赋值为4 d = ws.cell(row=4, column=2, ...

  2. SVN创建分支的相关操作

    目的是为了在项目中进行相应的功能操作的时候避免项目的报错还能进行还原 1.在相应的位置创建分支 项目过大的只在 功能的位置 进行创建分支 Angular的src 不要在其下面进行创建分支 他有严格的文 ...

  3. js 封装的自动创建表格的相关操作

    因为要做一个动态输入的表格,现在积累一下资料,在网上找了一些资料,经过总结是使用更加方便些,谁有更好的插件和封装的东西,请大家分享一下. <script type="text/java ...

  4. C# 对 Excel 的相关操作

    C# 对Excel的操作 学习自: 教练辅导 C# 对Excel的读取操作 我们需要额外添加引用: References 搜索Excel 这样我们的基础就添加完成了. 并且在using 中添加: us ...

  5. 从零自学Hadoop(20):HBase数据模型相关操作上

    阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  6. 理解CSV文件以及ABAP中的相关操作

    在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...

  7. Liunx下的有关于tomcat的相关操作 && Liunx 常用指令

    先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...

  8. python操作mysql数据库的相关操作实例

    python操作mysql数据库的相关操作实例 # -*- coding: utf-8 -*- #python operate mysql database import MySQLdb #数据库名称 ...

  9. SQL语言和DML相关操作以及相应的运算符

    SQL 1.结构化查询语言 2.特点 a.第四代编程语言,更接近自然语言 b必须有数据库系统解释执行 c.对象名,关键字不区分大小写 d.字符串必须要用单引号引起来,不能用双引号 e.每条语句最后用分 ...

随机推荐

  1. Pinpoint-agent监控springboot编译的jar启动方式

    由于springboot在打包发版时已经将tomcat容器内嵌到jar文件中,可以通过以下命令来使pinpoint-agent监控生成的jar服务 java -javaagent:D:\Softwar ...

  2. 45-管理 Machine

    用 docker-machine 创建 machine 的过程很简洁,非常适合多主机环境.除此之外,Docker Machine 也提供了一些子命令方便对 machine 进行管理.其中最常用的就是无 ...

  3. Navicat 软件的使用以及pymysql

    Navicat 软件的使用以及pymysql 一.navicate的安装及使用 下载 直接百度搜索navicate ,如下图 连接数据库 新建数据库以及新建表 选中然后鼠标右键 建模 利用navica ...

  4. [译]Vulkan教程(30)深度缓存

    [译]Vulkan教程(30)深度缓存 Depth buffering 深度缓存 Introduction 入门 The geometry we've worked with so far is pr ...

  5. 转载-Archunit的使用

    Archunit的使用 注:开发的编辑器: Intellij Idea,JDK版本是JDK8     Archunit是什么,官网的英文介绍很好,建议阅读原文,"ArchUnit is a  ...

  6. Oracle数据库的sql语句性能优化

    在应用系统开发初期,由于开发数据库数据比较少,对于查询sql语句,复杂试图的编写等体会不出sql语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统的响应速度就成为目 ...

  7. Java 添加Word文本水印、图片水印

    水印是一种常用于各种文档的声明.防伪手段,一般可设置文字水印或者加载图片作为水印.以下内容将分享通过Java编程给Word文档添加水印效果的方法,即 文本水印 图片水印 使用工具:Free Spire ...

  8. Java题库——Chapter13抽象类和接口

    )What is the output of running class Test? public class Test { public static void main(String[ ] arg ...

  9. C++ `endl` 与 `\n` 的区别

    std::cout << std::endl : 插入换行并刷新缓存区 (flush the buffer) std::cout << "\n" : 插入换 ...

  10. Scrapy框架-中间件

    一.中间件中主要有3个函数方法 process_request:处理请求,默认返回值是None process_response:处理响应,默认返回值是response对象 process_exce ...