zoukankan      html  css  js  c++  java
  • python生成xls,以字节方式上传阿里云oss

    # !/usr/bin/env python3
    # -*- coding: utf-8 -*-
    import xlwt
    import oss2
    from xlwt import CompoundDoc


    def download_url(exe_id, data):
    # 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
    auth = oss2.Auth('***', '***')
    # yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
    # 填写Bucket名称。
    bucket = oss2.Bucket(auth, 'https://oss-cn-***.aliyuncs.com', '***')
    work_book = xlwt.Workbook(encoding='utf-8')
    sheet = work_book.add_sheet('****')
    sheet.write(0, 0, 't_code')
    sheet.write(0, 1, 'pin_code')
    row_count = 0
    for t_code, pin_code in data.items():
    row_count += 1
    sheet.write(row_count, 0, f'{t_code}')
    sheet.write(row_count, 1, f'{pin_code}')
    # 根据xlwt实例对象的save()方法获取xls文件所需字节
    doc = CompoundDoc.XlsDoc()
    stream = work_book.get_biff_data()
    padding = b'x00' * (0x1000 - (len(stream) % 0x1000))
    doc.book_stream_len = len(stream) + len(padding)
    doc._build_directory()
    doc._build_sat()
    doc._build_header()
    # 拼接xls文件字节
    data = doc.header+doc.packed_MSAT_1st+stream+padding+doc.packed_MSAT_2nd+doc.packed_SAT+doc.dir_stream
    # 以字节方式上传oss
    bucket.put_object(f'{exe_id}.xls', data)
    return f'https://****/{exe_id}.xls'
  • 相关阅读:
    MVC三层架构
    JavaScript,你好!(二)
    HTML你好!
    Typora,你好!
    安装mysqlmysql-5.7.24-linux-glibc2.12-x86_64
    sizeof与strlen的区别
    printf格式化输出
    java泛型讲解
    双系统删除Linux系统
    kali破解wifi密码
  • 原文地址:https://www.cnblogs.com/yz-w/p/15175814.html
Copyright © 2011-2022 走看看