欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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')

最终我们会看到如下图所示:

python  xlwt模块简介

 


 

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

python  xlwt模块简介

 

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