• 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  宽度
            '''
            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')
  • 相关阅读:
    Linux route
    python 实现自定义切片类
    python 自省机制
    python 实例方法、静态方法、类方法
    python 动态语言和协议编程
    python 鸭子类型
    信息论
    CRF keras代码实现
    CRF 详细推导、验证实例
    attention 汇总(持续)
  • 原文地址:https://www.cnblogs.com/ellisonzhang/p/12171201.html
Copyright © 2020-2023  润新知