python xlwt模块简介

匿名 (未验证) 提交于 2019-12-02 22:51:30

一、基础类介绍

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!