利用xlutils第三方库复制excel模板
Python之利用第三方库套用excel模板,模板的样子假设如下:

现在要用这个模板,并且在“第二行第二列”的下方填入内容:
#!usr/bin/python3
# -*-coding=utf-8 -*- from xlutils.copy import copy #注意xlutils所用格式是xls
import xlrd
import xlwt #找到要套用的excel模板并且用xlrd打开,formatting_info=True表示照搬格式;
tem_excel = xlrd.open_workbook("template.xls", formatting_info=True); #这里的formatting_info=True必须使用xls格式,而且是正规的xls格式,不是拿个xlsx文件改成xls.
#找到需要的工作表,以索引的方式
tem_sheet = tem_excel.sheet_by_index(0) #新建一个工作簿,并拷贝前面打开的工作簿
new_excel = copy(tem_excel)
#在新的工作簿里新建工作表
new_sheet = new_excel.get_sheet(0)
#在新的工作表里写入内容,默认是是使用表格的初始格式,也就是不套用模板
new_sheet.write(2,1,12) #在表的第三行第二列写入数字12[打开表格会发现并没有套用格式]
new_sheet.write(3,1,18) #在表的第四行第二列写入数字18[打开表格会发现并没有套用格式]
new_sheet.write(4,1,19) #在表的第五航第二列写入数字19[打开表格会发现并没有套用格式]
new_sheet.write(5,1,15) #在表的第六航第二列写入数字15[打开表格会发现并没有套用格式]
new_excel.save('test.xls') #将工作簿保存到指定位置; '''
#鉴于上述写入并没有套用我们想要的格式,我们人工设置他们的格式.
#新建样式开始
'''
style = xlwt.XFStyle() #初始化自定义格式,空样式
font = xlwt.Font() #初始化字体
font.name = "微软雅黑" #设置字体名称
font.bold = True #设置字体加粗
font.height = 360 #字体大小的高度是字号乘以20,这里设置的是18号字体
style.font = font #将字体样式添加到空样式style里 #新建边框样式
borders = xlwt.Borders() #初始化单元格边框
borders.top = xlwt.Borders.THIN #上,THIN代表是细线,也可以设置为粗线等样式
borders.bottom = xlwt.Borders.THIN #下
borders.left = xlwt.Borders.THIN #左
borders.right = xlwt.Borders.THIN #右
style.boders = borders #将边框样式添加到style样式 #新建对齐样式
alignment = xlwt.Alignment() #初始化对齐样式
alignment.horz = xlwt.Alignment.HORZ_CENTER #水平中心对齐
alignment.vert = xlwt.Alignment.VERT_CENTER #垂直中心对齐
style.alignment = alignment #将对齐样式添加到style样式 #开始写入数据到表格并附带样式
new_sheet.write(2,1,12,style); #将样式应用到单元格2,1,也就是第三行第二列,并附带样式style
new_sheet.write(3,1,12,style); #将样式应用到单元格3,1,也就是第四行第二列,并附带样式style #保存数据
new_excel.save('20200926.xls');
样式效果如下:

有几点注意:
- 利用xlutils套用格式的时候,formatting_info = True前的文件格式一定是xls,不然会出现不可预期的错误;
- 简单套用写入保存,是不会套用格式的,只会按默认的格式保存文档,所以要手动设置格式;
- 步骤是:
- 打开模板文件
- 复制模板文件
- 设置格式
- 设置字体
- 设置边框
- 设置对齐
- 写入并保存文件
利用xlutils第三方库复制excel模板的更多相关文章
- 【react】利用prop-types第三方库对组件的props中的变量进行类型检测
1.引言--JavaScript就是一个熊孩子 1.1对于JSer们来说,js是自由的,但同时又有许多让人烦恼的地方.javascript很多时候就是这么一个熊孩子,他很多时候并不会像C和java ...
- 利用python第三方库提取PDF文件的表格内容
小爬最近接到一个棘手任务:需要提取手机话费电子发票PDF文件中的数据.接到这个任务的第一时间,小爬决定搜集各个地区各个时间段的电子发票文件,看看其中的差异点.粗略统计下来,PDF文件的表格框架是统一的 ...
- 利用已有库对excel进行读和写
读excel的内容:libxls库 C: https://github.com/evanmiller/libxls 或 http://libxls.sourceforge.net/ 参考博客:htt ...
- 利用jieba第三方库对文件进行关键字提取
已经爬取到的斗破苍穹文本以TXT形式存储 代码 import jieba.analyse path = 'C:/Users/Administrator/Desktop/bishe/doupo.text ...
- Python 标准库、第三方库
Python 标准库.第三方库 Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具.这些库可用于文件读写 ...
- prop-types:该第三方库对组件的props中的变量进行类型检测
利用prop-types第三方库对组件的props中的变量进行类型检测
- Python 读写操作Excel —— 安装第三方库(xlrd、xlwt、xlutils、openpyxl)
数据处理是 Python 的一大应用场景,而 Excel 则是最流行的数据处理软件.因此用 Python 进行数据相关的工作时,难免要和 Excel 打交道. 如果仅仅是要以表单形式保存数据,可以借助 ...
- 在服务端C#如何利用NPOI构建Excel模板
目前本人接触过两种模板导出的方式:(1)C#利用NPOI接口制作Excel模板,在服务端用数据渲染模板(2)在前端利用前人搭建好的框架,利用office编写xml制作模板,在客户端进行数据的渲染,导出 ...
- Python:使用第三方库xlwt来写Excel
继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write x ...
随机推荐
- vulnhub: DC 2
首先地址探测找到主机IP: root@kali:~# nmap -sn 192.168.74.139/24 Starting Nmap 7.80 ( https://nmap.org ) at 202 ...
- 基于Vue、Springboot网站实现第三方登录之QQ登录,以及邮件发送
基于Vue.Springboot实现第三方登录之QQ登录 前言 一.前提(准备) 二.QQ登录实现 1.前端 2.后端 1.application.yml 和工具类QQHttpClient 2.QQL ...
- CodeBlocks相关配置
因为我平时CodeBlocks的使用频率不高,但考试时需要用到,担心忘记相关配置在哪里调整,在此记录下. 打开调试模式 首先一定是创建项目. 项目创建完成后,配置调试器\(GDB\)路径 打开调试窗口 ...
- C语言讲义——预处理
C预处理器是一个文本替换工具,在实际编译之前完成一些预先的处理. C预处理器(C Preprocessor)简写为 CPP 预处理器命令都是以#开头,如: #include <stdio.h&g ...
- JQuery案例:暖心小广告
暖心小广告 写一个页面,每隔3秒显示小广告,再过3秒自动关闭. <head> <meta charset="UTF-8"> <title>暖心广 ...
- Kafka入门之broker-消息设计
消息设计 1.消息格式 Kafka的实现方式本质上是使用java NIO的ByteBuffer来保存消息,同时依赖文件系统提供的页缓存机制,而非依靠java的堆缓存. 2.版本变迁 0.11.0.0版 ...
- InnoDB 中的缓冲池(Buffer Pool)
本文主要说明 InnoDB Buffer Pool 的内部执行原理,其生效的前提是使用到了索引,如果没有用到索引会进行全表扫描. 结构 在 InnoDB 存储引擎层维护着一个缓冲池,通过其可以避免对磁 ...
- Django 在test.py 中测试文件的配置
import os import sys if __name__ == "__main__": os.environ.setdefault("DJANGO_SETTING ...
- CoProcessFunction实战三部曲之二:状态处理
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- EF Core 执行SQL语句和存储过程
无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...