zoukankan      html  css  js  c++  java
  • python写入excel数据xlwt模块

    #导入模块 
    
    import xlwt
    
    # 创建一个workbook 设置编码
    
    workbook = xlwt.Workbook(encoding='utf-8')
    
    # 创建一个worksheet
    
    file = workbook.add_sheet('POS运营简报')
    # 保存excel文件
    
    workbook.save(excel_filepath)
    一个单元格写入
    
    file.write(row, column,content)
    
    # 注: row和colum从0开始
    例子:
    
    file.write(1,1,'zezhou')
    合并单元格写入
    
    file.write_merge(row1,row2,column1,column2,content)
    例子:
    
    file.write_merge(1,3,0,1,'zezhou')

    设置样式

    加边框
    style = XFStyle()
    
    # 边框
    borders = Borders()
    borders.left = 1
    borders.right = 1
    borders.top = 1
    borders.bottom = 1
    
    # 赋值
    style.borders = borders
    
    # 写入
    file.write(1,1,'zezhou',style)
    
     
    居中
    style = XFStyle()
    al = xlwt.Alignment()
    al.horz = 0x02  # 设置水平居中
    al.vert = 0x01  # 设置垂直居中
    
    # 赋值
    style.alignment = al
    file.write(1,1,'zezhou',style)
    
     
    字体样式
    1.调整字体大小 # 创建一个文本格式,包括字体、字号和颜色样式特性 fnt = Font() fnt.height = 20 * 20 # 第一个20默认,第二个字号 # 赋值 style.font = fnt file.write(1,1,'zezhou',style) 2.加粗字体 fnt.blod = True 自动换行 # 默认用xlwt写入的内容是不会换行的 # 设置后内容超出自动换行或者是遇到 自动换行 style.alignment.wrap = 1 # 自动换行 设置行高 tall_style = xlwt.easyxf('font:height 700;') file.row(0).set_style(tall_style) # 0表示第一行 设置列宽 file.col(0).width = 512 * 7 # 0表示第一行,256表示一个字符,512我试的差不多一个文字

    把excel格式数据写入内存中的例子写法:

    import xlwt
    from io import BytesIO
    
    
    def write_excel(data=[]):
        # print(data)
        # 操作内存的
        stream = BytesIO()
        # 写入excel格式数据
        workbook = xlwt.Workbook(encoding='utf-8')
        file = workbook.add_sheet('出行记录数据')
        # 标题
        title = ["序号", "客人名称", "手机号", "体温", "餐厅名称", "进入时间", "出去时间"]
        for col_index in range(0, len(title)):
            file.write(0, col_index, title[col_index])
        # 主体数据
        for row_index in range(1, len(data)+1):
            temp = data[row_index-1]
            file.write(row_index, 0, row_index)
            for col_index in range(1, len(temp)+1):
                value = temp[col_index - 1]
                # datime数据转下格式
                if isinstance(value, datetime.datetime):
                    value = value.strftime('%Y-%m-%d %H:%M:%S')
                file.write(row_index, col_index, value)
        # 文件内容保存在内存中
        workbook.save(stream)
        # 直接从内存中返回数据
        return stream.getvalue()
    
    
    if __name__ == '__main__':
        value = write_excel()
        f = open(file="temp.xls", mode="wb")
        f.write(value)
        f.close()
    故乡明
  • 相关阅读:
    1分钟解决VS每次运行都显示“正在还原nuget程序包”问题
    C#多线程和异步(一)——基本概念和使用方法
    owin使用
    使用DotNetOpenAuth搭建OAuth2.0授权框架
    DotNetOpenAuth实践之搭建验证服务器
    DotNetOpenAuth实践系列
    Android使用zxing生成二维码
    漂亮的Android表格框架
    Android控件七:视图-图片-文字切换器ViewAnimator
    Android学习随笔--ListView的分页功能
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/14543765.html
Copyright © 2011-2022 走看看