前面几篇也做了一些练习,相信大家已经会制作一些基本的Excel表了,为深入了解这个xlwings库的工作方法,我阅读了官方文档,这一篇将其中一些比较有用的方法介绍给大家。
文字样式
前面的文章文字样式是用的api.Font调试了的,实际在0.23.0版本以后,库里就已经自带了这个功能。其具有字体,颜色,加粗,字号,斜体四项基本功能。api基本是大写的,这个里面都是小写,颜色也使用的是xlwings统一的元组形式和字符串形式(api使用的是16进制数字形式)。
ws['B2'].font.color = (255,0,111)
ws['B2'].font.bold = True
ws['B2'].font.italic = True
ws['B2'].font.size = 15
格式转换
转换为图片
将选定区域转换为图片,图片还是带着单元格的虚假边框
ws['B2:G5'].to_png('1.png')
转换PDF
ws['B2:G5'].to_pdf('1.pdf')
还有一种是
ws['B2:G5'].api.ExportAsFixedFormat(0,’1.pdf’)
这里面第一个参数0代表pdf,1代表xps,第二个参数文件名可以不写。
这个功能不一定能成功使用上。
转换为HTML
表格对象才有的功能
ws.to_html('1.html')
在浏览器里就是这样的。
区域边缘
上一篇在添加图片的时候有用到top和left,并没有和大家解释这是什么,聪明的掘友一眼就已经知道是什么了,但我还是要说一下
top 是从指定区域上边界到第一行上边界的距离
left 是从指定区域左边界到第一列左边界的距离
专业版使用
Xlwings是有专业版的,如果你想要不花钱使用专业版的功能,一种方法是去www.xlwings.org/trial 申请一个30天的license,二是直接将key置为noncommercial。请注意好开源协议!
设置key的动作
xlwings license update -k YOUR_LICENSE_KEY
在代码里加载key的话,需要在导入xlwings库之前执行
os.environ["XLWINGS_LICENSE_KEY"] = "YOUR_DEPLOY_KEY"
专业版功能示例--命名变量填充
比如可以在以前的小学生信息表上使用jinja语法填充
import os
os.environ["XLWINGS_LICENSE_KEY"] = "noncommercial"
import xlwings
app = xlwings.App(visible=True, add_book=False)
app.display_alerts = False
wb_template = app.books.open('小学生信息表.xlsx')
data = {
'name': '汤姆'
}
wb_template.render_template(**data)
效果如下
是一个很实用的功能,这样就不需要像以前一样数格子编号了。需要注意的是要提前在环境安装jinja2的库