良许Linux教程网 干货合集 Python操作Excel—xlwt

Python操作Excel—xlwt

xlwt 是 Python 用来在 Excel 写入数据和格式化数据的工具包,是用来生成兼容 Excel 97/2000/XP/2003, OpenOffice.org Calc 和 Gnumeric 的表格库。 xlwt 完全支持 Unicode。xlwt 不需要任何的 Excel 或者 COM 服务器就能在任意的平台生成 Excel 表格。

详解pythonxlrd模块

1.新建一个表,向表里添加一个sheet,并且设置单元格样式,设置字体样式(字体,字号),设置行高,设置列宽

# -*- coding: utf-8 -*-
import xlwt
workbook = xlwt.Workbook(encoding='utf-8')
       sheet = workbook.add_sheet(u'sheet', cell_overwrite_ok=True)
sheet.col(0).width = 256 * 15  # 设置第一列的宽度为15,宽度的基本单位为256.所以设置的时候一般用256 × 需要的列宽。
# 设置行高为可以修改,并修改为 40,行高的基本单位为20,设置同行高。
sheet.row(0).height_mismatch = True
sheet.row(0).height = 20 * 40

2.设置单元格风格。Font()用来设置单元格字体内容,如字体类型、大小等;borders()设置单元格边框线粗细;partern()设置单元格背景颜色;XFStyle()设置风格类型;alignment()用来设置了字体水平居中、垂直居中、自动换行。

style = xlwt.XFStyle()  
font = xlwt.Font()
font.name = "SimSun"  # 宋体
font.height = 20 * 11  # 字体大小为11,字体大小的基本单位是20.
font.bold = False # 设置字体为不加粗
font.colour_index = 0x01 # 字体颜色默认为黑色,此处设置字体颜色为白色, 颜色范围为:0x00-0xff
style.font = font
pat = xlwt.Pattern()
pat.pattern = xlwt.Pattern.SOLID_PATTERN  # 设置单元格背景颜色
pat.pattern_fore_colour = xlwt.Style.colour_map['dark_blue'# 设置单元格背景颜色为深蓝
style.pattern = pat
borders = xlwt.Borders()
borders.left = 1
borders.right = 1
borders.top = 1
borders.bottom = 1
style.borders = borders

颜色映射如下

_colour_map_text = “”” aqua 0x31 black 0x08 blue 0x0C blue_gray 0x36 bright_green 0x0B brown 0x3C coral 0x1D cyan_ega 0x0F dark_blue 0x12 dark_blue_ega 0x12 dark_green 0x3A dark_green_ega 0x11 dark_purple 0x1C dark_red 0x10 dark_red_ega 0x10 dark_teal 0x38 dark_yellow 0x13 gold 0x33 gray_ega 0x17 gray25 0x16 gray40 0x37 gray50 0x17 gray80 0x3F green 0x11 ice_blue 0x1F indigo 0x3E ivory 0x1A lavender 0x2E light_blue 0x30 light_green 0x2A light_orange 0x34 light_turquoise 0x29 light_yellow 0x2B lime 0x32 magenta_ega 0x0E ocean_blue 0x1E olive_ega 0x13 olive_green 0x3B orange 0x35 pale_blue 0x2C periwinkle 0x18 pink 0x0E plum 0x3D purple_ega 0x14 red 0x0A rose 0x2D sea_green 0x39 silver_ega 0x16 sky_blue 0x28 tan 0x2F teal 0x15 teal_ega 0x15 turquoise 0x0F violet 0x14 white 0x09 yellow 0x0D”””

继续设置单元格中内容中位置,居中,局左右等 使用xlwt中的Alignment来设置单元格的对齐方式,其中horz代表水平对齐方式,vert代表垂直对齐方式。 VERT_TOP = 0x00 上端对齐 VERT_CENTER = 0x01 居中对齐(垂直方向上) VERT_BOTTOM = 0x02 低端对齐 HORZ_LEFT = 0x01 左端对齐 HORZ_CENTER = 0x02 居中对齐(水平方向上) HORZ_RIGHT = 0x03 右端对齐

style.alignment.horz = 0x02
# 水平居中
style.alignment.vert = 0x01
# 垂直居中

对于会计数据,需要设置单元格的内容格式,比如人民币,美元之类的。

style.num_format_str = '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)' # 设置单元格内容格式为 人民币,保留到小数点后两位

其他格式参考如下

fmts = [
   'general',
   '0',
   '0.00',
   '#,##0',
   '#,##0.00',
   '"$"#,##0_);("$"#,##',
   '"$"#,##0_);[Red]("$"#,##',
   '"$"#,##0.00_);("$"#,##',
   '"$"#,##0.00_);[Red]("$"#,##',
   '0%',
   '0.00%',
   '0.00E+00',
   '# ?/?',
   '# ??/??',
   'M/D/YY',
   'D-MMM-YY',
   'D-MMM',
   'MMM-YY',
   'h:mm AM/PM',
   'h:mm:ss AM/PM',
   'h:mm',
   'h:mm:ss',
   'M/D/YY h:mm',
   '_(#,##0_);(#,##0)',
   '_(#,##0_);[Red](#,##0)',
   '_(#,##0.00_);(#,##0.00)',
   '_(#,##0.00_);[Red](#,##0.00)',
   '_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',
   '_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',
   '_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',
   '_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',
   'mm:ss',
   '[h]:mm:ss',
   'mm:ss.0',
   '##0.0E+0',
   '@'
]

3.写入数据,并保存

sheet.write(0, 1, 'content', style)
# 合并第0行的第0列到第3列。
worksheet.write_merge(0, 0, 0, 3, 'First Merge')
workbook.save('test.xls')https://www.jianshu.com/nb/28706002)

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部