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抓取网页图片示例(python爬虫)
Apr 27 Python
Python 2与Python 3版本和编码的对比
Feb 14 Python
python爬虫入门教程--HTML文本的解析库BeautifulSoup(四)
May 25 Python
对python捕获ctrl+c手工中断程序的两种方法详解
Dec 26 Python
python标记语句块使用方法总结
Aug 05 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
Python如何设置指定窗口为前台活动窗口
Aug 12 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
python中Mako库实例用法
Dec 31 Python
Python爬虫入门教程02之笔趣阁小说爬取
Jan 24 Python
深度学习详解之初试机器学习
Apr 14 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
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
PHP中的use关键字概述
2014/07/23 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
2016/02/01 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
实例解析jQuery工具函数
2016/12/01 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
Python如何实现文本转语音
2016/08/08 Python
django 邮件发送模块smtp使用详解
2019/07/22 Python
Python利用requests模块下载图片实例代码
2019/08/12 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
Pycharm 2020.1 版配置优化的详细教程
2020/08/07 Python
Python self用法详解
2020/11/28 Python
手机配件第一品牌:ZAGG
2017/05/28 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
最新大学职业规划书范文
2013/12/30 职场文书
销售演讲稿范文
2014/01/08 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
企业务虚会发言材料
2014/10/20 职场文书
2014年社区党建工作汇报材料
2014/11/02 职场文书
物业工程部岗位职责
2015/02/11 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
Java基础——Map集合
2022/04/01 Java/Android
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python