Python xlsxwriter模块

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

猜你喜欢

转载自www.cnblogs.com/ellisonzhang/p/12171201.html