openpyxl

Posted wxbn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openpyxl相关的知识,希望对你有一定的参考价值。

参考连接: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的主要内容,如果未能解决你的问题,请参考以下文章