xlwt模块将数据存入Excel表格

简单使用xlwt

import xlwt #导入模块
workbook = xlwt.Workbook(encoding='utf-8') #创建workbook 对象
worksheet = workbook.add_sheet('sheet1') #创建工作表sheet
worksheet.write(0, 0, 'hello')  #往表中写内容,第一各参数表示行,第二个参数表示列,第三个参数为内容
workbook.save('abc.xls')  #保存表为abc.xls

使用xlwt创建excel文件时,首先要实例化此类的对象

xlwt.Workbook(encoding='utf-8',style_compression=0)

encoding:设置字符编码,默认是ascii

style_compression:表示是否压缩

add_sheet(sheetname, cell_overwrite_ok=False)  创建一个sheet表

sheetname: 工作表的名字
cell_overwrite_ok: 如果值为True,则可以像单元格中多次写入数据(覆盖写),相当于修改单元格的数据,如果值为False则多次写入会引发异常。

worksheet.write(row,col,value)

for i in range(1, len(reaults)):

    for j in range(0, len(reaults[0])):

        value = reaults[i][j]

        sheet.write(i, j, value)

读数据库往表中写内容,i,j表示行列,value表示单元格的值

a.save(r'C:\a.xls')  保存到指定的Excel文件中

xlwt高级应用

字符字体类

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

  Alignment类

# 字体水平设置
HORZ_GENERAL                = 0x00  # 正常显示
HORZ_LEFT                   = 0x01  # 左对齐
HORZ_CENTER                 = 0x02  # 居中
HORZ_RIGHT                  = 0x03  # 右对齐
HORZ_FILLED                 = 0x04  # 填充单元格
HORZ_JUSTIFIED              = 0x05  # 显示在合理的位置
HORZ_CENTER_ACROSS_SEL      = 0x06  # Centred across selection我觉得这个应该是显示在单元格的正当中,但测试发现和0x02效果一样只能是水平居中不能垂直居中
    HORZ_DISTRIBUTED            = 0x07  # Distributed汉字时字体是水平 平均分布在表格中,如果是英文字母则是水平居中显示。

    # 垂直设置
VERT_TOP                    = 0x00  # 字体在单元格顶部
VERT_CENTER                 = 0x01  # 字体垂直居中
VERT_BOTTOM                 = 0x02  # 字体在单元格底部
VERT_JUSTIFIED              = 0x03  # Justified (BIFF5-BIFF8X)在合理的位置显示
VERT_DISTRIBUTED            = 0x04  # Distributed (BIFF8X)有垂直居中的效果,如果字体超过单元格范围会垂直分布显示

    # 字体方向(没用明白哈哈)
DIRECTION_GENERAL           = 0x00  # BIFF8X  正常显示
DIRECTION_LR                = 0x01
DIRECTION_RL                = 0x02

ORIENTATION_NOT_ROTATED     = 0x00
ORIENTATION_STACKED         = 0x01
ORIENTATION_90_CC           = 0x02
ORIENTATION_90_CW           = 0x03

ROTATION_0_ANGLE            = 0x00
ROTATION_STACKED            = 0xFF  # 就这个是垂直显示

WRAP_AT_RIGHT               = 0x01  # 自动换行
NOT_WRAP_AT_RIGHT           = 0x00  # 默认不自动换行

SHRINK_TO_FIT               = 0x01  # 将字体缩小到适合单元格大小
NOT_SHRINK_TO_FIT           = 0x00  # 默认正常显示


self.horz = self.HORZ_GENERAL   # 水平设置,默认是正常显示
self.vert = self.VERT_BOTTOM    # 垂直设置,默认字体在单元格底部
self.dire = self.DIRECTION_GENERAL
self.orie = self.ORIENTATION_NOT_ROTATED
self.rota = self.ROTATION_0_ANGLE   
self.wrap = self.NOT_WRAP_AT_RIGHT  # 如果数据超过单元格显示范围是否自动换行显示,默认不换行
self.shri = self.NOT_SHRINK_TO_FIT  # 如果数据超过单元格范围会自动缩小字体来适应当前单元格的显示范围,默认不缩小字体。
self.inde = 0
self.merg = 0

Border类

NO_LINE = 0x00   # 无边框
THIN    = 0x01   # 细边框
MEDIUM  = 0x02   # 中号细边框
DASHED  = 0x03   # 虚线边框
DOTTED  = 0x04   # 点划线和虚线差不多
THICK   = 0x05   # 粗边框
DOUBLE  = 0x06   # 加粗边框
HAIR    = 0x07   # 和虚线差不多
    #The following for BIFF8
MEDIUM_DASHED               = 0x08   # 中号虚线
THIN_DASH_DOTTED            = 0x09   # 细虚线
MEDIUM_DASH_DOTTED          = 0x0A   # 中号带点的虚线
THIN_DASH_DOT_DOTTED        = 0x0B   # 点划线
MEDIUM_DASH_DOT_DOTTED      = 0x0C   # 中号点划线
SLANTED_MEDIUM_DASH_DOTTED  = 0x0D   # 斜线虚线点组成的

NEED_DIAG1      = 0x01
NEED_DIAG2      = 0x01
NO_NEED_DIAG1   = 0x00
NO_NEED_DIAG2   = 0x00

        # 设置边框
self.left   = self.NO_LINE
self.right  = self.NO_LINE
self.top    = self.NO_LINE
self.bottom = self.NO_LINE

        # 设置边框颜色
self.left_colour   = 0x40
self.right_colour  = 0x40
self.top_colour    = 0x40
self.bottom_colour = 0x40
self.diag_colour   = 0x40

背景类Background

self.pattern = self.NO_PATTERN   # 是否设置背景,必须允许设置背景,pattern_fore_colour和pattern_back_colour才会生效
self.pattern_fore_colour = 0x40  # 前景色不会影响单元格的边框
self.pattern_back_colour = 0x41  # 后景会影响单元格的边框

上一篇:20189230杨静怡 2018-2019-2 《密码与安全新技术专题》第3周作业


下一篇:CRC校验码简介及CRC16的计算方法