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 相关文章推荐
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
Python3中的真除和Floor除法用法分析
Mar 16 Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 Python
Python3.5文件修改操作实例分析
May 01 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
Python 变量的创建过程详解
Sep 02 Python
Python高级特性之闭包与装饰器实例详解
Nov 19 Python
python关于调用函数外的变量实例
Dec 26 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
Oct 30 Python
python实现图像高斯金字塔的示例代码
Dec 11 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
Thinkphp开发--集成极光推送
2017/09/15 PHP
php之header的不同用法总结(实例讲解)
2017/11/28 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
javascript 限制输入脚本大全
2009/11/03 Javascript
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
JavaScript定义类和对象的方法
2014/11/26 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
JavaScript中的方法重载实例
2015/03/16 Javascript
jquery简单实现幻灯片的方法
2015/08/03 Javascript
JS动态添加iframe的代码
2015/09/14 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
JavaScript内存泄漏的处理方式
2017/11/20 Javascript
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
JavaScript中 ES6变量的结构赋值
2018/07/10 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
支付宝小程序实现省市区三级联动
2020/06/21 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
python cookielib 登录人人网的实现代码
2012/12/19 Python
Python正则表达式匹配HTML页面编码
2015/04/08 Python
机器学习python实战之手写数字识别
2017/11/01 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
python中的列表和元组区别分析
2020/12/30 Python
送温暖献爱心活动总结
2014/07/08 职场文书
合作协议书模板
2014/10/10 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
医生个人年终总结
2015/02/28 职场文书
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS