python xlwt模块简介
一、基础类介绍
1、工作簿类Workbook简介:
import xlwt
class Workbook(object0):
'''
工作簿类,使用xlwt创建excel文件时,首先要实例化此类的对象
'''
def __init__(self, encoding='ascii', style_compression=0):
pass def add_sheet(self,sheetname, cell_overwrite_ok=False):
'''
在工作簿中创建工作表
:param sheetname: 工作表的名字
:param cell_overwrite_ok: 如果值为True,则可以像单元格中多次写入数据(覆盖写),相当于修改单元格的数据,如果值为False则多次写入会引发异常。
:return: 返回一个工作表对象(也就是Worksheet()对象)
'''
pass
def save(self,filename_or_stream):
'''
将文件以Excel的格式进行保存
:param filename_or_stream:Excel的文件名
:return:
'''
pass
2、工作表类WorkSheet简介
class Worksheet(object):
'''
工作表类
'''
def __init__(self, sheetname, parent_book, cell_overwrite_ok=False):
'''
实例化对象的参数
:param sheetname: 工作表名
:param parent_book: 工作簿对象
:param cell_overwrite_ok:覆盖写单元格(如果为True可以覆盖写单元格,为False如果覆盖写会抛异常)
'''
pass def write(self, r, c, label="", style=xlwt.Style.default_style):
'''
将数据写入工作表的单元格中
:param r: row的缩写,表示行,从0开始计数。
:param c: column的缩写,表示列,从0开始计数。
:param label:要写入的数据(支持的数据类型:int,long,float,字符串,日期,TRUE,FALSE,xlwt.Formula等)
:param style:表格样式(样式类:Font, Alignment, Borders, Pattern, Protection。样式函数:easyxf, easyfont, add_palette_colour)
:return:
'''
pass
3、创建一个不带样式的基础Excel表
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet') # 向工作表中添加数据(参数对应 行, 列, 值)
for i in range(3):
for j in range(3):
worksheet.write(i,j, label = 'test_' + str(j),) # 保存数据到硬盘
workbook.save(r'i:\Excel_test.xls')
最终我们会看到如下图所示:
二、xlwt高级应用
Font:用于设置字体,字体大小,字体颜色,是否加粗,斜体,字体带下划线,删除线等。
Alignment:用于设置字体水平和垂直对齐、文本换行、缩进、方向/旋转、文本方向等。
Border:表格边框设置。
Background:单元格背景颜色。
1、字体类Font简介
class Font(object): def __init__(self):
# twip = 1/20 of a point = 1/1440 of a inch
# usually resolution == 96 pixels per 1 inch
# (rarely 120 pixels per 1 inch or another one) self.height = 0x00C8 # 200: this is font with height 10 points 字体高度
self.italic = False # 斜体
self.struck_out = False # 删除线
self.outline = False # 字体轮廓(没发现有什么变化)
self.shadow = False # 字体阴影
self.colour_index = 0x7FFF # 这个字体颜色貌似有限制,没太搞懂,范围是0x00到0x35之间有颜色,超过这个范围都是黑色,最大不能超过0xFFFF否则会报错。
self.bold = False # 粗体
self._weight = 0x0190 # 0x02BC gives bold font # 字体宽度
self.escapement = self.ESCAPEMENT_NONE #字体在单元格中位置,0x00正常,0x01字体上标,0x02字体下标。
self.underline = self.UNDERLINE_NONE # 默认字体不带下划线,0x01单下划线,0x02和0x01差不多,0x21双下划线,0x02和0x21差不多
self.family = self.FAMILY_NONE # 不清楚做什么的,默认没有,0x01罗马家族,0x02瑞士家族,0x03现代家族,0x04脚本家族,0x05描述家族
self.charset = self.CHARSET_SYS_DEFAULT # 字符集,字符集选项
CHARSET_ANSI_LATIN = 0x00
CHARSET_SYS_DEFAULT = 0x01
CHARSET_SYMBOL = 0x02
CHARSET_APPLE_ROMAN = 0x4D
CHARSET_ANSI_JAP_SHIFT_JIS = 0x80
CHARSET_ANSI_KOR_HANGUL = 0x81
CHARSET_ANSI_KOR_JOHAB = 0x82
CHARSET_ANSI_CHINESE_GBK = 0x86
CHARSET_ANSI_CHINESE_BIG5 = 0x88
CHARSET_ANSI_GREEK = 0xA1
CHARSET_ANSI_TURKISH = 0xA2
CHARSET_ANSI_VIETNAMESE = 0xA3
CHARSET_ANSI_HEBREW = 0xB1
CHARSET_ANSI_ARABIC = 0xB2
CHARSET_ANSI_BALTIC = 0xBA
CHARSET_ANSI_CYRILLIC = 0xCC
CHARSET_ANSI_THAI = 0xDE
CHARSET_ANSI_LATIN_II = 0xEE
CHARSET_OEM_LATIN_I = 0xFF
self.name = 'Arial' # 字体
1.1创建一个改变默认字体样式的Excel
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet') # 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.underline = 0x01 # 设置字体带下划线
xfont.name = '华文彩云' # 设置字体 # 将字体对象赋值给样式对象
xstyle.font = xfont for i in range(3):
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
worksheet.write(i,j, label = 'test_' + str(j),style=xstyle) # 保存数据到硬盘
workbook.save(r'i:\2.xls')
如果一切顺利,打开2.xls会看到如下:
2、 Alignment类简介
class Alignment(object):
# 字体水平设置
HORZ_GENERAL = 0x00 # 正常显示
HORZ_LEFT = 0x01 # 左对齐
HORZ_CENTER = 0x02 # 居中
HORZ_RIGHT = 0x03 # 右对齐
HORZ_FILLED = 0x04 # 填充单元格
HORZ_JUSTIFIED = 0x05 # 显示在合理的位置
HORZ_CENTER_ACROSS_SEL = 0x06 # Centred across selection我觉得这个应该是显示在单元格的正当中,但测试发现和0x02效果一样只能是水平居中不能垂直居中
HORZ_DISTRIBUTED = 0x07 # Distributed汉字时字体是水平 平均分布在表格中,如果是英文字母则是水平居中显示。 # 垂直设置
VERT_TOP = 0x00 # 字体在单元格顶部
VERT_CENTER = 0x01 # 字体垂直居中
VERT_BOTTOM = 0x02 # 字体在单元格底部
VERT_JUSTIFIED = 0x03 # Justified (BIFF5-BIFF8X)在合理的位置显示
VERT_DISTRIBUTED = 0x04 # Distributed (BIFF8X)有垂直居中的效果,如果字体超过单元格范围会垂直分布显示 # 字体方向(没用明白哈哈)
DIRECTION_GENERAL = 0x00 # BIFF8X 正常显示
DIRECTION_LR = 0x01
DIRECTION_RL = 0x02 ORIENTATION_NOT_ROTATED = 0x00
ORIENTATION_STACKED = 0x01
ORIENTATION_90_CC = 0x02
ORIENTATION_90_CW = 0x03 ROTATION_0_ANGLE = 0x00
ROTATION_STACKED = 0xFF # 就这个是垂直显示 WRAP_AT_RIGHT = 0x01 # 自动换行
NOT_WRAP_AT_RIGHT = 0x00 # 默认不自动换行 SHRINK_TO_FIT = 0x01 # 将字体缩小到适合单元格大小
NOT_SHRINK_TO_FIT = 0x00 # 默认正常显示 def __init__(self):
self.horz = self.HORZ_GENERAL # 水平设置,默认是正常显示
self.vert = self.VERT_BOTTOM # 垂直设置,默认字体在单元格底部
self.dire = self.DIRECTION_GENERAL
self.orie = self.ORIENTATION_NOT_ROTATED
self.rota = self.ROTATION_0_ANGLE
self.wrap = self.NOT_WRAP_AT_RIGHT # 如果数据超过单元格显示范围是否自动换行显示,默认不换行
self.shri = self.NOT_SHRINK_TO_FIT # 如果数据超过单元格范围会自动缩小字体来适应当前单元格的显示范围,默认不缩小字体。
self.inde = 0
self.merg = 0
2.1下面是一个小示例:
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 将字体对象赋值给样式对象
xstyle.font = xfont
xstyle.alignment = xalig
for i in range(3):
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
worksheet.write(i,j, label = 'test_'+str(j),style=xstyle) # 保存数据到硬盘
workbook.save(r'i:\2.xls')
如果一切顺利你会看到如下所示:
3、Border类简介
class Borders(object):
NO_LINE = 0x00 # 无边框
THIN = 0x01 # 细边框
MEDIUM = 0x02 # 中号细边框
DASHED = 0x03 # 虚线边框
DOTTED = 0x04 # 点划线和虚线差不多
THICK = 0x05 # 粗边框
DOUBLE = 0x06 # 加粗边框
HAIR = 0x07 # 和虚线差不多
#The following for BIFF8
MEDIUM_DASHED = 0x08 # 中号虚线
THIN_DASH_DOTTED = 0x09 # 细虚线
MEDIUM_DASH_DOTTED = 0x0A # 中号带点的虚线
THIN_DASH_DOT_DOTTED = 0x0B # 点划线
MEDIUM_DASH_DOT_DOTTED = 0x0C # 中号点划线
SLANTED_MEDIUM_DASH_DOTTED = 0x0D # 斜线虚线点组成的 NEED_DIAG1 = 0x01
NEED_DIAG2 = 0x01
NO_NEED_DIAG1 = 0x00
NO_NEED_DIAG2 = 0x00 def __init__(self):
# 设置边框
self.left = self.NO_LINE
self.right = self.NO_LINE
self.top = self.NO_LINE
self.bottom = self.NO_LINE
self.diag = self.NO_LINE # 不知道干嘛用的 # 设置边框颜色
self.left_colour = 0x40
self.right_colour = 0x40
self.top_colour = 0x40
self.bottom_colour = 0x40
self.diag_colour = 0x40 # 不知道干嘛用的
self.need_diag1 = self.NO_NEED_DIAG1
self.need_diag2 = self.NO_NEED_DIAG2
3.1下面是带边框的小示例
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 设置边框
xborder = xlwt.Borders()
# 边框是斜,点虚线
xborder.left = 0x0d
xborder.top = 0x0d
xborder.right = 0x0d
xborder.bottom = 0x0d
# 边框颜色
xborder.bottom_colour = 0x35
xborder.top_colour = 0x8
xborder.left_colour = 0x012
xborder.right_colour = 0x4 # 设置样式
xstyle.font = xfont
xstyle.alignment = xalig
xstyle.borders = xborder
for i in range(3):
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
worksheet.write(i,j, label = 'test_'+str(j),style=xstyle) # 保存数据到硬盘
workbook.save(r'i:\2.xls')
最终你会看到如下所示:
4、背景类Background简介
class Pattern(object):
# patterns 0x00 - 0x12
NO_PATTERN = 0x00
SOLID_PATTERN = 0x01 def __init__(self):
self.pattern = self.NO_PATTERN # 是否设置背景,必须允许设置背景,pattern_fore_colour和pattern_back_colour才会生效
self.pattern_fore_colour = 0x40 # 前景色不会影响单元格的边框
self.pattern_back_colour = 0x41 # 后景会影响单元格的边框
4.1下面进行小示例:
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 设置边框
xborder = xlwt.Borders()
# 边框是斜,点虚线
xborder.left = 0x0d
xborder.top = 0x0d
xborder.right = 0x0d
xborder.bottom = 0x0d
# 边框颜色
xborder.bottom_colour = 0x35
xborder.top_colour = 0x8
xborder.left_colour = 0x012
xborder.right_colour = 0x4
# 设置单元格背景
xpattern = xlwt.Pattern()
xpattern.pattern = 0x01
xpattern.pattern_fore_colour = 0x05
# 设置样式
xstyle.font = xfont
xstyle.alignment = xalig
xstyle.borders = xborder
xstyle.pattern = xpattern
for i in range(3):
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
worksheet.write(i,j, label = 'test_'+str(j),style=xstyle) # 保存数据到硬盘
workbook.save(r'i:\2.xls')
最终你会看到如下图所示:
上述只是简单的介绍了xlwt最基础的方法,还有许多方法功能没有被列举出来,这里就不一一列举了。有兴趣的小伙伴可以自己看源码来实现自己想要的功能。
三、一些常用的方法简介
1、设置单元格行高,列宽。
目前没有找到好的办法,只能逐行逐列的设置。代码如下:
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 设置边框
xborder = xlwt.Borders()
# 边框是斜,点虚线
xborder.left = 0x0d
xborder.top = 0x0d
xborder.right = 0x0d
xborder.bottom = 0x0d
# 边框颜色
xborder.bottom_colour = 0x35
xborder.top_colour = 0x8
xborder.left_colour = 0x012
xborder.right_colour = 0x4
# 设置单元格背景
xpattern = xlwt.Pattern()
xpattern.pattern = 0x01
xpattern.pattern_fore_colour = 0x05 # 设置样式
xstyle.font = xfont
xstyle.alignment = xalig
xstyle.borders = xborder
xstyle.pattern = xpattern for i in range(3):
# 设置行高
worksheet.row(i).height_mismatch = True
worksheet.row(i).height = 20 * 30 # 20是基数*30是行的高度
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
data = 'test_'+str(j)
worksheet.col(j).width = 256 * len(data) * # 设置列宽,计算列宽度:256是单元格基数*用数据长度*2最终的结果单元格的宽度和数据正好填满。
worksheet.write(i,j, label = data,style=xstyle) # 保存数据到硬盘
workbook.save(r'i:\2.xls')
最终会看到如下效果
2、在单元格中显示日期,代码如下:
import xlwt
import datetime
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 设置边框
xborder = xlwt.Borders()
# 边框是斜,点虚线
xborder.left = 0x0d
xborder.top = 0x0d
xborder.right = 0x0d
xborder.bottom = 0x0d
# 边框颜色
xborder.bottom_colour = 0x35
xborder.top_colour = 0x8
xborder.left_colour = 0x012
xborder.right_colour = 0x4
# 设置单元格背景
xpattern = xlwt.Pattern()
xpattern.pattern = 0x01
xpattern.pattern_fore_colour = 0x05 # 设置样式
xstyle.font = xfont
xstyle.alignment = xalig
xstyle.borders = xborder
xstyle.pattern = xpattern
xstyle.num_format_str = 'M/D/YY' # 日期显示格式,还有很多其它数据类型的选项,请参考下文。 for i in range(3):
# 设置行高
worksheet.row(i).height_mismatch = True
worksheet.row(i).height = 20 * 30 # 20是基数*30是行的高度
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
data = datetime.datetime.now() # 获取当前日期
worksheet.col(j).width = 256 * len(data.strftime('%Y-%m-%d')) * 2 # 计算列宽度:256是单元格基数*用数据长度*2最终的结果单元格的宽度和数据正好填满。
worksheet.write(i,j, label = data,style=xstyle) # 保存数据到硬盘
workbook.save(r'i:\2.xls')
如果一切顺利效果如下:
对于财务或者其他日期时间,小数,科学计数等显示格式,参考如下选项:
_std_num_fmt_list = [
'general', # 默认是此选项,常规显示。
'',
'0.00',
'#,##0',
'#,##0.00',
'"$"#,##0_);("$"#,##0)',
'"$"#,##0_);[Red]("$"#,##0)',
'"$"#,##0.00_);("$"#,##0.00)',
'"$"#,##0.00_);[Red]("$"#,##0.00)',
'0%',
'0.00%',
'0.00E+00',
'# ?/?',
'# ??/??',
'M/D/YY', # 这是我们刚刚用的
'D-MMM-YY',
'D-MMM',
'MMM-YY',
'h:mm AM/PM',
'h:mm:ss AM/PM',
'h:mm',
'h:mm:ss',
'M/D/YY h:mm',
'_(#,##0_);(#,##0)',
'_(#,##0_);[Red](#,##0)',
'_(#,##0.00_);(#,##0.00)',
'_(#,##0.00_);[Red](#,##0.00)',
'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',
'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',
'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',
'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',
'mm:ss',
'[h]:mm:ss',
'mm:ss.0',
'##0.0E+0',
'@'
]
xstyle.num_format_str = 'M/D/YY' # 我们只需将这个字符串替换上面我们需要的即可。
3、在Excel表格中插入公式,代码如下:
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 设置边框
xborder = xlwt.Borders()
# 边框是斜,点虚线
xborder.left = 0x0d
xborder.top = 0x0d
xborder.right = 0x0d
xborder.bottom = 0x0d
# 边框颜色
xborder.bottom_colour = 0x35
xborder.top_colour = 0x8
xborder.left_colour = 0x012
xborder.right_colour = 0x4
# 设置单元格背景
xpattern = xlwt.Pattern()
xpattern.pattern = 0x01
xpattern.pattern_fore_colour = 0x05 # 设置样式
xstyle.font = xfont
xstyle.alignment = xalig
xstyle.borders = xborder
xstyle.pattern = xpattern for i in range(3):
# 设置行高
worksheet.row(i).height_mismatch = True
worksheet.row(i).height = 20 * 30 # 20是基数*30是行的高度
for j in range(3):
# 向工作表中添加数据(参数对应 行, 列, 值,样式)
worksheet.write(i,j, label = int(j)+1,style=xstyle)
# 设置行高
worksheet.row(3).height_mismatch = True
worksheet.row(3).height = 20 * 30 # 20是基数*30是行的高度
worksheet.write(3,0, label = xlwt.Formula('SUM(A1:A3)'),style=xstyle) # 求和函数
worksheet.write(3,1, label = xlwt.Formula('B1*B2*B3'),style=xstyle) # 求乘积
worksheet.write(3,2, label = xlwt.Formula('AVERAGE(C1:C3)'),style=xstyle) # 求平均数 # 保存数据到硬盘
workbook.save(r'i:\2.xls')
最终我们会看到如下效果:
4、在表格中插入超链接,代码如下:
import xlwt
# 实例化一个工作簿对象
workbook = xlwt.Workbook(encoding = 'utf-8') # 获取工作表对象Worksheet
worksheet = workbook.add_sheet('work_sheet')
# 实例化表格样式对象
xstyle = xlwt.XFStyle() # 设置字体样式
xfont = xlwt.Font()
xfont.colour_index = 0x04 # 设置字体颜色
xfont.bold = True # 字体加粗
xfont.height = 20 * 18 # 设置字体高度(20是基数不变,18是字号用于调整大小)
xfont.name = '宋体' # 设置字体
# 设置字体在单元格中的位置
xalig = xlwt.Alignment()
xalig.horz = 0x02 # 字体水平居中
xalig.vert = 0x01 # 字体水平居中 # 设置边框
xborder = xlwt.Borders()
# 边框是斜,点虚线
xborder.left = 0x0d
xborder.top = 0x0d
xborder.right = 0x0d
xborder.bottom = 0x0d
# 边框颜色
xborder.bottom_colour = 0x35
xborder.top_colour = 0x8
xborder.left_colour = 0x012
xborder.right_colour = 0x4
# 设置单元格背景
xpattern = xlwt.Pattern()
xpattern.pattern = 0x01
xpattern.pattern_fore_colour = 0x05 # 设置样式
xstyle.font = xfont
xstyle.alignment = xalig
xstyle.borders = xborder
xstyle.pattern = xpattern # 设置行高
worksheet.row(0).height_mismatch = True
worksheet.row(0).height = 20 * 30 # 20是基数*30是行的高度
a_data = 'HYPERLINK("http://www.baidu.com";"baidu")' # 要插入的网址,'baidu'是在Excel中显示的值。
worksheet.col(0).width = 256 * len(a_data) * 2 # 设置单元格宽度
worksheet.write(0,0, label = xlwt.Formula(a_data),style=xstyle) # 插入超链接 # 保存数据到硬盘
workbook.save(r'i:\2.xls')
如果一切顺利你会看到如下:
5、关于颜色映射表如下:
_colour_map_text = """\
aqua 0x31
black 0x08
blue 0x0C
blue_gray 0x36
bright_green 0x0B
brown 0x3C
coral 0x1D
cyan_ega 0x0F
dark_blue 0x12
dark_blue_ega 0x12
dark_green 0x3A
dark_green_ega 0x11
dark_purple 0x1C
dark_red 0x10
dark_red_ega 0x10
dark_teal 0x38
dark_yellow 0x13
gold 0x33
gray_ega 0x17
gray25 0x16
gray40 0x37
gray50 0x17
gray80 0x3F
green 0x11
ice_blue 0x1F
indigo 0x3E
ivory 0x1A
lavender 0x2E
light_blue 0x30
light_green 0x2A
light_orange 0x34
light_turquoise 0x29
light_yellow 0x2B
lime 0x32
magenta_ega 0x0E
ocean_blue 0x1E
olive_ega 0x13
olive_green 0x3B
orange 0x35
pale_blue 0x2C
periwinkle 0x18
pink 0x0E
plum 0x3D
purple_ega 0x14
red 0x0A
rose 0x2D
sea_green 0x39
silver_ega 0x16
sky_blue 0x28
tan 0x2F
teal 0x15
teal_ega 0x15
turquoise 0x0F
violet 0x14
white 0x09
yellow 0x0D"""
好啦!!!就先简单写到这里吧。以后发现什么好玩的功能,在继续补充。
python xlwt模块简介的更多相关文章
- Kemaswill 机器学习 数据挖掘 推荐系统 Python optparser模块简介
Python optparser模块简介
- Python::OS 模块 -- 简介
OS 模块简介 OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能.使用OS模块中提供的接口,可以实现跨平台访问.但是在OS模块中的接口并 ...
- Python CSV模块简介
Table of Contents 1. CSV 1.1. 简介 1.2. 字典方式地读写 1.3. 其它 2. 参考资料 CSV csv文件格式是一种通用的电子表格和数据库导入导出格式.最近我调用R ...
- Python logging 模块简介
Table of Contents 1. Logging 模块 1.1. 简介 1.2. 简单输出日志 1.3. 输入日志到文件 1.4. 几个基本概念 1.4.1. loggers 1.4.2. h ...
- python paramiko模块简介
一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- python paramiko模块简介及安装
一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- Python xlwt 模块执行出错Exception: String longer than 32767 characters
使用Python搜集数据时用到xlwt保存到excel文件,但是数据量有点大时出现 Exception: String longer than 32767 characters 搜索类似的问题都是建议 ...
- python xlwt模块生成excel文件并写入数据 xlrd读取数据
python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...
- Python xlwt模块
Examples Generating Excel Documents Using Python’s xlwt Here are some simple examples using Python’s ...
随机推荐
- CSS定位的属性值
关于CSS定位都是老生常谈的问题了,不过有一个问题,最新的属性值在某些网站上并没有被更新到教程上 下面我记录一下 position现在有五个属性值 1.static:静态定位,没有特殊的定位规则,遵循 ...
- apt-get原理
apt-get 而这个步骤全要用户亲力亲为可能又有些麻烦,懒是科技发展的重要推动力.所以软件厂商自己编译好了很多二进制文件,只要系统和环境对应,下载之后就能直接安装. 但是如果下载了很多软件我想要管理 ...
- c++ LeetCode(初级数组篇)十一道算法例题代码详解(一)
原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/10940636.html 唉!最近忙着面试找实习,然后都是面试的很多是leetcode的算法题, ...
- Java并发总结
Java并发 进程 进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的.系统运行一个程序即是一个进程从创建,运行到消亡的过程. 在 Java 中,当我们启动 main 函数时其实就是 ...
- CentOS 7.x 安装 ZSH 终端
一.安装基本组件 首先执行 yum 命令来安装需要的 zsh 原始程序与 git 程序来 pull 代码. yum install -y zsh git 安装 oh my zsh 脚本 (这一步需要安 ...
- 资深程序员对于Python各个方向的面试经验分享,非常给力!
之前早有前辈们说过,"裸辞一时爽,一直裸辞一直爽",这话一点不假,裸辞你要面临没有收入来源,但是每天眼睁睁看着各种花销不断支出的煎熬,我主要是觉得一边在上家公司工作一边去下家面试可 ...
- windows 下安装beego
好久没写博客了,最近忙于一些杂事,看见有几个博友留言了,未能及时回复,稍后晚点回复诸位博友.不多说了,windows安装beego(请先确保git环境已安装并设置了git环境变量.这个简单网上很多教程 ...
- Git错误:error:failed to push some refs to 'git@gitee.com:name/project.git'
大家在通过本地仓库上传文件到远程仓库时,会报出 error:failed to push some refs to 'git@gitee.com:name/project.git' 的错误. 解决方法 ...
- 【转载】Android N 完全不同以往的四个新特性
Google最近发布了Android的下一个版本,Android N的开发者预览版.此次预览版,可以让我们开发者在正式发布之前就测试代码,包括一些新的API,甚至于也可以提前反馈那些对于我们来说有些困 ...
- springboot架构下运用shiro后在configuration,通过@Value获取不到值,总是为null
通过网上查找资料,是因为shiro的bean @Beanpublic LifecycleBeanPostProcessor lifecycleBeanPostProcessor() { return ...