一、基础类介绍
1、工作簿类Workbook简介:
importxlwtclassWorkbook(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
defsave(self,filename_or_stream):‘‘‘将文件以Excel的格式进行保存
:param filename_or_stream:Excel的文件名
:return:‘‘‘
pass
2、工作表类WorkSheet简介
classWorksheet(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表
importxlwt#实例化一个工作簿对象
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高级应用
1、字体类Font简介
classFont(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 = 0x00CHARSET_SYS_DEFAULT= 0x01CHARSET_SYMBOL= 0x02CHARSET_APPLE_ROMAN= 0x4DCHARSET_ANSI_JAP_SHIFT_JIS= 0x80CHARSET_ANSI_KOR_HANGUL= 0x81CHARSET_ANSI_KOR_JOHAB= 0x82CHARSET_ANSI_CHINESE_GBK= 0x86CHARSET_ANSI_CHINESE_BIG5= 0x88CHARSET_ANSI_GREEK= 0xA1CHARSET_ANSI_TURKISH= 0xA2CHARSET_ANSI_VIETNAMESE= 0xA3CHARSET_ANSI_HEBREW= 0xB1CHARSET_ANSI_ARABIC= 0xB2CHARSET_ANSI_BALTIC= 0xBACHARSET_ANSI_CYRILLIC= 0xCCCHARSET_ANSI_THAI= 0xDECHARSET_ANSI_LATIN_II= 0xEECHARSET_OEM_LATIN_I= 0xFFself.name= ‘Arial‘ #字体
1.1创建一个改变默认字体样式的Excel
importxlwt#实例化一个工作簿对象
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 =xfontfor 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会看到如下:
----------------------------------------------------------------------------未完待续------------------------------------------------------------------------------
原文:https://www.cnblogs.com/caesar-id/p/11802440.html