python xlwt模块简介
程序员文章站
2022-03-21 18:10:13
一、基础类介绍 1、工作簿类Workbook简介: import xlwt class Workbook(object0): ''' 工作簿类,使用xlwt创建excel文件时,首先要实例化此类的对象 ''' def __init__(self, encoding='ascii', style_co ......
一、基础类介绍
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高级应用
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会看到如下:
----------------------------------------------------------------------------未完待续------------------------------------------------------------------------------