1.简介:

xlsxWriter支持多种excle功能;与excel完美兼容;写大文件,速度快且只占用很小的内存空间
不支持读或者改现有的excel文件

2.安装:

pip install xlsxwriter

3.使用示例:

import xlsxwriter

workbook = xlsxwriter.Workbook('hello.xlsx') # 建立文件
# 建立sheet, 可以work.add_worksheet('employee')来指定sheet名,但中文名会报UnicodeDecodeErro的错误
worksheet = workbook.add_worksheet() worksheet.write('A1', 'Hello world') # 向A1写入 workbook.close()

4.常用方法

  • 创建工作簿
self.workbook = xlsxwriter.Workbook(self.reportpath)
  • 添加sheet
sheet = self.workbook.add_worksheet(sheetname)
  • 添加图标sheet
sheet=self.workbook.add_chartsheet(sheetname)
  • 关闭工作簿
self.workbook.close()
  • 通过sheet名称获取sheet
sheet = self.workbook.get_worksheet_by_name(sheetname)
  • 设置单元格样式
    def set_coverformat(self,font_size=14,bg_color='#FFFFFF',font_color='#000000',bordernum=1,font_name='微软雅黑'):
'''
设置封面单元格样式
:param font_size: 字体大小,默认14
:param bg_color: 背景颜色,默认白色
:param font_color: 字体颜色,默认黑色
:param bordernum: 边框,默认1-有边框
:param font_name: 字体,默认微软雅黑
:return: 单元格样式
'''
cover_style=self.workbook.add_format(
{'align':'center','valign':'vcenter','border':bordernum,'font_size':font_size,'bg_color':bg_color,
'font_color':font_color,'font_name':font_name})
return cover_style
def set_cellformat(self,font_size=12,bg_color='#FFFFFF',font_color='#000000',bordernum=1,font_name='微软雅黑',text_wrap=1):
'''
设置单元格样式
:param font_size: 字体大小,默认12
:param bg_color: 背景颜色,默认白色
:param font_color: 字体颜色,默认黑色
:param bordernum: 边框,默认1-有边框
:param font_name: 字体,默认微软雅黑
:param text_wrap: 自动换行,默认1-自动换行
:return: 单元格样式
'''
cell_style=self.workbook.add_format(
{'align':'center','valign':'vcenter','border':bordernum,'font_size':font_size,'bg_color':bg_color,
'font_color':font_color,'font_name':font_name,'text_wrap':text_wrap})
return cell_style
  • 设置单元格宽度
    def set_column_width(self,sheet,rangecell,width):
'''
设置指定单元格的宽度
:param sheetname: sheet名称
:param rangecell: 单元格范围,例如'A1:A5',单个单元格就是'A1:A1'
:param width: 宽度
'''
sheet.set_column(rangecell,width)
  • 设置行高
 def set_row_height(self,sheet,rowx,height):
'''
设置指定行的高度
:param sheetname: sheet名称
:param rowx: 行数(从0开始)
:param height: 高度
'''
sheet.set_row(rowx,height)
  • 编辑单元格
    def write_cell(self,sheet,cell,data,format):
'''
编辑指定sheet下的单元格
:param sheetname: sheet名称
:param cell: 单元格
:param data: 写入数据
:param format: 单元格样式
'''
sheet.write(cell,data,format)
  • 合并单元格写入数据
    def write_merge_range(self,sheet,rangecell,data,format):
'''
合并单元格并写入数据
:param sheetname: sheet名称
:param rangecell: 合并单元格范围,例如'D1:D7'
:param data: 写入数据信息
:param format: 单元格样式
'''
sheet.merge_range(rangecell,data,format)
  • 设置标签颜色
    def set_sheetcolor(self,sheetname,color):
'''
设置sheet标签颜色
:param sheet: sheet
:param color: 颜色
'''
sheet=self.get_sheet_byname(sheetname)
sheet.set_tab_color(color)
  • 筛选器
    def autofilter(self,sheetname):
'''
添加自动筛选器
:param sheetname: sheet名称
:return:
'''
sheet = self.get_sheet_byname(sheetname)
sheet.autofilter('A1:R1')

最新文章

  1. 重新初始化 VS2010
  2. Jquery的命名冲突
  3. [CF442C] Artem and Array (贪心+单调栈优化)
  4. 解决Duilib创建的win32窗口拖到屏幕上边缘自动最大化
  5. 入门Html
  6. 《初识PE》导出表
  7. 111_climbing-stairs
  8. 一个想法照进现实-《IT连》创业项目:一个转折一个反思
  9. [js高手之路]es6系列教程 - 解构详解
  10. Java设计模式相关面试
  11. [转载]基于LVS的AAA负载均衡架构实践
  12. Mac Eclipse 配置 SDK Manager Proxy (代理)
  13. webapi框架搭建-webapi异常处理
  14. react native初识
  15. window如何一键关闭所有进程程序
  16. JAVA的Split小技巧
  17. C#通过代码调用PowerShell
  18. 【转】Kotlin 和 Checked Exception
  19. VC++使用IMAPI调用Outlook邮箱客户端和Foxmail邮箱客户端遇到的问题
  20. UpdateBatch到底是怎么用的?

热门文章

  1. AngularJS前端以ArrayBuffer类型请求后端数据以生成文件时,出现异常的处理
  2. B-Tree索引
  3. Qt QString与int的转换
  4. CSS性能优化探讨
  5. delicate|definite|density|deny doing|draw up |draw on|no equal for|establish|equipped|
  6. Tmux 速成教程:技巧和调整
  7. ubuntu 服务器 php 环境简单搭建
  8. 吴裕雄--天生自然HTML学习笔记:HTML 标题
  9. ehcache缓存框架之二级缓存
  10. 2019DDCTF部分Writeup