Python使用xlwt模块操作Excel的方法详解


Posted in Python onMarch 27, 2018

本文实例讲述了Python使用xlwt模块操作Excel的方法。分享给大家供大家参考,具体如下:

部分摘自官网文档.

模块安装很简单

$ pip install xlwt

先来个简单的例子:

#!/usr/bin/python
#coding=utf-8
# ==============================================================================
#
#    Filename: demo.py
#  Description: excel operat
#    Created: Tue Apr 25 17:10:33 CST 2017
#     Author: Yur
#
# ==============================================================================
import xlwt
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding = 'utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('My Worksheet')
# 写入excel
# 参数对应 行, 列, 值
worksheet.write(1,0, label = 'this is test')
# 保存
workbook.save('Excel_test.xls')

运行后 会在当前目录生成一个Excel_test.xls

官方例子:

Python使用xlwt模块操作Excel的方法详解

运行这个例子的时候 报错

Python使用xlwt模块操作Excel的方法详解

自己又写了一个:

#!/usr/bin/python
#coding=utf-8
# ==============================================================================
#
#    Filename: style.py
#  Description: style
#    Created: Thu Apr 27 15:07:53 CST 2017
#     Author: Yur
#
# ==============================================================================
import xlwt
workbook = xlwt.Workbook(encoding = 'ascii')
worksheet = workbook.add_sheet('My Worksheet')
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = 'Times New Roman'
font.bold = True # 黑体
font.underline = True # 下划线
font.italic = True # 斜体字
style.font = font # 设定样式
worksheet.write(0, 0, 'Unformatted value') # 不带样式的写入
worksheet.write(1, 0, 'Formatted value', style) # 带样式的写入
workbook.save('formatting.xls') # 保存文件

效果:

Python使用xlwt模块操作Excel的方法详解

设置单元格宽度:

import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
worksheet.write(0, 0,'My Cell Contents')
# 设置单元格宽度
worksheet.col(0).width = 3333
workbook.save('cell_width.xls')

输入一个日期到单元格:

import xlwt
import datetime
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
style = xlwt.XFStyle()
style.num_format_str = 'M/D/YY' # Other options: D-MMM-YY, D-MMM, MMM-YY, h:mm, h:mm:ss, h:mm, h:mm:ss, M/D/YY h:mm, mm:ss, [h]:mm:ss, mm:ss.0
worksheet.write(0, 0, datetime.datetime.now(), style)
workbook.save('Excel_Workbook.xls')

向单元格添加一个公式:

import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
worksheet.write(0, 0, 5) # Outputs 5
worksheet.write(0, 1, 2) # Outputs 2
worksheet.write(1, 0, xlwt.Formula('A1*B1')) # Should output "10" (A1[5] * A2[2])
worksheet.write(1, 1, xlwt.Formula('SUM(A1,B1)')) # Should output "7" (A1[5] + A2[2])
workbook.save('Excel_Workbook.xls')

向单元格添加一个超链接:

import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
worksheet.write(0, 0, xlwt.Formula('HYPERLINK("http://www.google.com";"Google")')) # Outputs the text "Google" linking to http://www.google.com
workbook.save('Excel_Workbook.xls')

合并列和行:

import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
worksheet.write_merge(0, 0, 0, 3, 'First Merge') # Merges row 0's columns 0 through 3.
font = xlwt.Font() # Create Font
font.bold = True # Set font to Bold
style = xlwt.XFStyle() # Create Style
style.font = font # Add Bold Font to Style
worksheet.write_merge(1, 2, 0, 3, 'Second Merge', style) # Merges row 1 through 2's columns 0 through 3.
workbook.save('Excel_Workbook.xls')

设置单元格内容的对其方式:

import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
alignment = xlwt.Alignment() # Create Alignment
alignment.horz = xlwt.Alignment.HORZ_CENTER # May be: HORZ_GENERAL, HORZ_LEFT, HORZ_CENTER, HORZ_RIGHT, HORZ_FILLED, HORZ_JUSTIFIED, HORZ_CENTER_ACROSS_SEL, HORZ_DISTRIBUTED
alignment.vert = xlwt.Alignment.VERT_CENTER # May be: VERT_TOP, VERT_CENTER, VERT_BOTTOM, VERT_JUSTIFIED, VERT_DISTRIBUTED
style = xlwt.XFStyle() # Create Style
style.alignment = alignment # Add Alignment to Style
worksheet.write(0, 0, 'Cell Contents', style)
workbook.save('Excel_Workbook.xls')

为单元格议添加边框:

# Please note: While I was able to find these constants within the source code, on my system (using LibreOffice,) I was only presented with a solid line, varying from thin to thick; no dotted or dashed lines.
import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
borders = xlwt.Borders() # Create Borders
borders.left = xlwt.Borders.DASHED
  DASHED虚线
  NO_LINE没有
  THIN实线
# May be: NO_LINE, THIN, MEDIUM, DASHED, DOTTED, THICK, DOUBLE, HAIR, MEDIUM_DASHED, THIN_DASH_DOTTED, MEDIUM_DASH_DOTTED, THIN_DASH_DOT_DOTTED, MEDIUM_DASH_DOT_DOTTED, SLANTED_MEDIUM_DASH_DOTTED, or 0x00 through 0x0D.
borders.right = xlwt.Borders.DASHED
borders.top = xlwt.Borders.DASHED
borders.bottom = xlwt.Borders.DASHED
borders.left_colour = 0x40
borders.right_colour = 0x40
borders.top_colour = 0x40
borders.bottom_colour = 0x40
style = xlwt.XFStyle() # Create Style
style.borders = borders # Add Borders to Style
worksheet.write(0, 0, 'Cell Contents', style)
workbook.save('Excel_Workbook.xls')

为单元格设置背景色:

import xlwt
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('My Sheet')
pattern = xlwt.Pattern() # Create the Pattern
pattern.pattern = xlwt.Pattern.SOLID_PATTERN # May be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12
pattern.pattern_fore_colour = 5 # May be: 8 through 63. 0 = Black, 1 = White, 2 = Red, 3 = Green, 4 = Blue, 5 = Yellow, 6 = Magenta, 7 = Cyan, 16 = Maroon, 17 = Dark Green, 18 = Dark Blue, 19 = Dark Yellow , almost brown), 20 = Dark Magenta, 21 = Teal, 22 = Light Gray, 23 = Dark Gray, the list goes on...
style = xlwt.XFStyle() # Create the Pattern
style.pattern = pattern # Add Pattern to Style
worksheet.write(0, 0, 'Cell Contents', style)
workbook.save('Excel_Workbook.xls')

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
用Python创建声明性迷你语言的教程
Apr 13 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
Sep 11 Python
Python常见内置高效率函数用法示例
Jul 31 Python
详解pandas删除缺失数据(pd.dropna()方法)
Jun 25 Python
python在新的图片窗口显示图片(图像)的方法
Jul 11 Python
django框架CSRF防护原理与用法分析
Jul 22 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
Python时间差中seconds和total_seconds的区别详解
Dec 26 Python
Python面向对象之多态原理与用法案例分析
Dec 30 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
python2 对excel表格操作完整示例
Feb 23 Python
django实现模型字段动态choice的操作
Apr 01 Python
Python安装图文教程 Pycharm安装教程
Mar 27 #Python
python 接口返回的json字符串实例
Mar 27 #Python
使用Django和Python创建Json response的方法
Mar 26 #Python
python查询mysql,返回json的实例
Mar 26 #Python
Python发送http请求解析返回json的实例
Mar 26 #Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 #Python
详谈在flask中使用jsonify和json.dumps的区别
Mar 26 #Python
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
深入浅出php socket编程
2015/05/13 PHP
PHP上传图片类显示缩略图功能
2016/06/30 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
PHP cURL获取微信公众号access_token的实例
2018/04/28 PHP
Open and Print a Word Document
2007/06/15 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
seajs中模块的解析规则详解和模块使用总结
2014/03/12 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
JavaScript中获取鼠标位置相关属性总结
2014/10/11 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
jquery ztree异步搜索(搜叶子)实践
2016/02/25 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
javascript简易画板开发
2020/04/12 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
微信小程序获取位置展示地图并标注信息的实例代码
2019/09/01 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
python实现的简单抽奖系统实例
2015/05/22 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
Python读取实时数据流示例
2019/12/02 Python
python利用appium实现手机APP自动化的示例
2021/01/26 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
最好的商品表达自己:Cafepress
2019/09/04 全球购物
公务员转正鉴定材料
2014/02/11 职场文书
党支部公开承诺书
2014/03/28 职场文书
任命书范本大全
2014/06/06 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
Pytorch distributed 多卡并行载入模型操作
2021/06/05 Python
使用Oracle命令进行数据库备份与还原
2021/12/06 Oracle
Nginx 502 bad gateway错误解决的九种方案及原因
2022/08/14 Servers