码迷,mamicode.com
首页 > 其他好文 > 详细

openpyxl

时间:2019-09-29 15:38:56      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:插入   open   cti   多个   rand   ascii   字符   turn   time   

参考连接:https://openpyxl.readthedocs.io/en/stable/

openpyxl是一个Python库,用于读取/写入Excel  xlsx / xlsm / xltx / xltm文件

安装 pip install openpyxl

在文件中插入图片的文件(缩略图) 需要安装 PIL  模块 我在另一篇博客有提

写入的方式

wb = Workbook()   创建文件对象

ws = wb.active 获取第一个 sheet  对其名字以及单元格的格式都可以进行控制

单个单元格中写入数据(用处不大 可以用于修改数据)

ws[‘A2‘]=数字 字符串 时间

多个单元个写入 可使用列表进行写入

比如 : 要写入的数据为

file_data = [[‘姓名‘, ‘性别‘, ‘写入时间‘, ‘得分‘]

[‘张三‘, ‘男‘, ‘2019-5.20‘,  ‘90‘]

[‘李四‘, ‘女‘, ‘2019-5-20‘, ‘98‘] 

。。。]

from openpyxl import Workbook

def export_fract_excel(data: list, file_name):
  wb = Workbook()   # 创建文件
  ws = wb.active  # 创建 sheet
  #  列表导入

  for i in data:  
    ws.append(i)

  # 拼接导出名 可以自行拼接 可选
  name = ‘‘.join([random.choice(string.ascii_letters) for _ in range(2)])
  name = ‘{}_{}.xlsx‘.format(name,file_name)
  try:
    Bir_path = os.path.join(DefaultConfig.PATH, ‘Bir‘)
    if not os.path.exists(Bir_path):
    os.mkdir(Bir_path)
    file_name = os.path.join(Bir_path, name)
    wb.save(file_name )
    return file_name 
  except Exception as e:
    file_name = ‘‘
  return file_name 

def make_excel(file_data, file_name):

  now = datetime.now()
  fn = export_fract_excel(file_data, file_name)
  r = make_response(send_file(fn, as_attachment=True))
  return r 

 

导出的数据格式

 

openpyxl

标签:插入   open   cti   多个   rand   ascii   字符   turn   time   

原文地址:https://www.cnblogs.com/wxbn/p/11608103.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!