当前位置: 移动技术网 > IT编程>脚本编程>Python > python xlwt模块简介

python xlwt模块简介

2019年11月06日  | 移动技术网IT编程  | 我要评论

延吉杀人案,驭龙赛,罗小敏

一、基础类介绍

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会看到如下:

 

 ----------------------------------------------------------------------------未完待续------------------------------------------------------------------------------

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网