工作中需要导出数据为excel格式,使用了xlwt模块,在此记录一下用到的内容。

1. 创建一个表,设置一个sheet

 import xlwt

 workbook = xlwt.Workbook(encoding='utf8')
worksheet = workbook.add_sheet(u'sheet1')

2. 设置列宽,cols_num是列的数目,可以通过修改12这个值,修改列的宽度

 for c in range(cols_num):
worksheet.col(c).width = 256 * 12

3.设置行高,修改800为别的值,可以修改行的高度

 worksheet.row(0).height_mismatch = True
worksheet.row(0).height = 800 # 设置行高

4.设置单元格风格,写成了一个函数。如注释所示,Font()用来设置单元格字体内容,如字体类型、大小等;borders()设置单元格边框线粗细;partern()设置单元格背景颜色;XFStyle()设置风格类型;alignment()用来设置了字体水平居中、垂直居中、自动换行。

 def body_style(pattern=None):
# 设置excel单元格风格
font = xlwt.Font() # Create Font
font.name = "SimSun" # 宋体
font.height = 20 * 12 # 字体大小
style = xlwt.XFStyle() # Create Style
style.alignment.horz = 2 # 字体居中
style.alignment.vert = 1
style.alignment.wrap = 1
if pattern:
pat = xlwt.Pattern()
pat.pattern = xlwt.Pattern.SOLID_PATTERN # 设置背景颜色
pat.pattern_fore_colour = pattern
style.pattern = pat
borders = xlwt.Borders()
borders.left = 1
borders.right = 1
borders.top = 1
borders.bottom = 1
style.font = font
style.borders = borders
return style

5. falsk导出excel

 def down():
excel = excel()
sio = StringIO.StringIO()
excel.save(sio)
resp = make_response(sio.getvalue())
filename = (u'表hh-' + u'-' + time.strftime("%Y-%m-%d", time.localtime(time.time())))
resp.headers["Content-Disposition"] = "attachment; filename={}.xls".format(filename)
resp.headers['Content-Type'] = 'application/x-xls'
return resp

6. 往单元格内写入数据,合并单元格

 worksheet.write(m_row, m_col, u'内容', body_style())
# 合并单元格,前四个参数分别是起止的行列位置
worksheet.write_merge(1, 2, m_col, m_col+3, u'还好', body_style())

7. 在设置字体颜色或者单元格背景颜色的时候,可以使用源码中0x0D参数来代表不同的颜色,也可以用0-127来表示不同的颜色,写了以下代码来测试了一下,方便之后使用

 # coding=utf-8
import xlwt workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet1') for i in range(0, 128):
stylei = xlwt.XFStyle()
patterni = xlwt.Pattern()
patterni.pattern = 1
# 设置底纹的图案索引,1为实心,2为50%灰色,对应为excel文件单元格格式中填充中的图案样式
patterni.pattern_fore_colour = i # 设置底纹的前景色,对应为excel文件单元格格式中填充中的背景色
patterni.pattern_back_colour = 35 # 设置底纹的背景色,对应为excel文件单元格格式中填充中的图案颜色
stylei.pattern = patterni # 为样式设置图案
worksheet.write(i, 0, i, stylei) workbook.save('file.xls')

8. 待续,后面根据一些使用的属性进行补充,此外,目前对于wookbook类的属性还没有搞明白怎么使用。

python的xlwt模块的常用方法的更多相关文章

  1. python 的xlwt模块

    一.安装 ♦ python官网下载https://pypi.python.org/pypi/xlwt模块安装. ♦或者在cmd窗口  pip install  xlrd 二.使用 1.导入模块 imp ...

  2. Python使用xlwt模块 操作Excel文件

    导出Excel文件     1. 使用xlwt模块 import xlwt import xlwt    # 导入xlwt # 新建一个excel文件 file = xlwt.Workbook() # ...

  3. python中os模块的常用方法

    1.os模块:os模块在python中包含普遍的操作系统功能,下面列出了一些在os模块中比较有用的部分. os.sep可以取代操作系统特定的路径分隔符.windows下为 “\\” os.name字符 ...

  4. python之xlwt模块列宽width、行高Heights详解

    今天用python操作excel时,发现xlwt的API中没有对width.height有更多介绍,且使用时也不知道width取多少合适.现在这做个详细介绍 使用版本: python:2.7.5 xl ...

  5. python中calendar模块的常用方法

    >>> import calendar >>> calendar.isleap(2000) #判断是否是闰年 True >>> calendar. ...

  6. python通过xlwt模块直接在网页上生成excel文件并下载

    urls: from django.conf.urls import url, include from . import views urlpatterns = [ ... url(r'^domai ...

  7. 24.python中xlwt模块用法详解

    1.创建并保存一个excel 创建一个工作簿,设置编码格式为“utf-8”,默认格式是ASCII,为了方便写入中文,一般都要设置成UTF-8 import xlwt wb = xlwt.Workboo ...

  8. Python的re模块的常用方法

    一.re的match与search方法 1.re.match方法 re.match 尝试从字符串的起始位置匹配一个模式,匹配成功re.match方法返回一个匹配的对象,如果不是起始位置匹配成功的话,m ...

  9. xlwt模块

    python使用xlwt模块操作Excel 该模块安装很简单 $ pip install xlwt 语法 import xlwt # 创建一个workbook 设置编码 workbook = xlwt ...

随机推荐

  1. 推荐系统相关算法(1):SVD

    假如要预测Zero君对一部电影M的评分,而手上只有Zero君对若干部电影的评分和风炎君对若干部电影的评分(包含M的评分).那么能预测出Zero君对M的评分吗?答案显然是能.最简单的方法就是直接将预测分 ...

  2. Select的option事件问题

    一开始看你们会觉得没问题,我也就是觉得没问题所以才找不到错误所在. 问题出在option本身是没有事件的说法的,只能在select里添加事件,再获取option的属性值 这是我的写法 select设置 ...

  3. PHP中include与require的特点和区别说明

    引用文件的方法有两种:require 及 include.两种方式提供不同的使用弹性. require 的使用方法如 require("MyRequireFile.php"); . ...

  4. 像 npm 一样在 Andriod 项目中引入 Gradle 依赖

    一.前言 作为 Android 开发人员,有没有羡慕过 node.js 的导入三方库的方式,node.js 社区为开发者准备了一个快速可靠的依赖管理库.这样的依赖管理库,让 node.js 导入依赖库 ...

  5. keydown - > keypress - > keyup

    英文输入法:   事件触发顺序:keydown - > keypress - > keyup   中文输入法:   firfox:输入触发keydown,回车确认输入触发keyup chr ...

  6. 数据库中删除语句Drop、Delete、Truncate的相同点和不同点的比较

    数据库删除语句的分别介绍: Delete:用于删除表中的行(注:可以删除某一行:也可以在不删除表的情况下(即意味着表的结构.属性.索引完整)删除所有行) 语法:删除某一行:Delete From 表名 ...

  7. Js全选 添加和单独删除

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JS前端三维地球渲染——中国各城市航空路线展示

    前言 我还从来没有写过有关纯JS的文章(上次的矢量瓦片展示除外,相对较简单.),自己也学习过JS.CSS等前端知识,了解JQuery.React等框架,但是自己艺术天分实在不过关,不太喜欢前端设计,比 ...

  9. 基于FFMPEG的跨平台播放器实现(二)

    基于FFMPEG的跨平台播放器实现(二) 上一节讲到了在Android平台下采用FFmpeg+surface组合打造播放器的方法,这一节讲一下Windows平台FFmpeg + D3D.Linux平台 ...

  10. (转)利用JConsole工具监控java程序内存和JVM

    转自:http://www.cnblogs.com/luihengk/p/5446279.html 一.找到java应用程序对应的进程PI 性能测试应用程序访问地址:http://192.168.29 ...