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 相关文章推荐
pycharm 使用心得(五)断点调试
Jun 06 Python
python编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
用Python实现斐波那契(Fibonacci)函数
Mar 25 Python
Python pymongo模块用法示例
Mar 31 Python
python实现爬取图书封面
Jul 05 Python
详解Python安装tesserocr遇到的各种问题及解决办法
Mar 07 Python
python中自带的三个装饰器的实现
Nov 08 Python
python根据文本生成词云图代码实例
Nov 15 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
Python Dict找出value大于某值或key大于某值的所有项方式
Jun 05 Python
Python如何将模块打包并发布
Aug 30 Python
python如何在word中存储本地图片
Apr 07 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程序员最常犯的11个MySQL错误小结
2010/11/20 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
学习PHP Cookie处理函数
2016/08/09 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
jQuery MD5加密实现代码
2010/03/15 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
JavaScript的事件机制详解
2017/01/17 Javascript
微信小程序实现点击返回顶层的方法
2017/07/12 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
webuploader实现上传图片到服务器功能
2018/08/16 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
jQuery ajax仿Google自动提示SearchSuggess功能示例
2019/03/28 jQuery
jQuery实现高级检索功能
2019/05/28 jQuery
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
python基础练习之几个简单的游戏
2017/11/10 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
2020/11/25 Python
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
小学毕业演讲稿
2014/04/25 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年党员发展工作总结
2014/12/02 职场文书
升职自我推荐信范文
2015/03/25 职场文书
电力工程合作意向书
2015/05/11 职场文书
公安机关起诉意见书
2015/05/20 职场文书
2019年个人工作总结范文
2019/03/25 职场文书
解决Nginx 配置 proxy_pass 后 返回404问题
2021/03/31 Servers
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers