openpyxel 保存excel文件后 再前端下载wb.save('example.xlsx')
时间: 2023-12-03 12:03:07 浏览: 156
要在前端下载Excel文件,你可以使用以下代码:
```python
import io
from flask import Flask, send_file
from openpyxl import Workbook
app = Flask(__name__)
@app.route('/download')
def download_excel():
# 创建Excel文件
wb = Workbook()
ws = wb.active
ws['A1'] = 'Hello'
ws['B1'] = 'World'
# 将Excel文件保存到内存中
file_stream = io.BytesIO()
wb.save(file_stream)
file_stream.seek(0)
# 将Excel文件返回给前端进行下载
return send_file(
file_stream,
as_attachment=True,
attachment_filename='example.xlsx',
mimetype='application/vnd.ms-excel'
)
if __name__ == '__main__':
app.run()
```
这段代码使用 Flask 框架创建了一个 `/download` 路由,当用户访问该路由时,会创建一个 Excel 文件,并将其保存到内存中。然后,使用 Flask 的 `send_file` 函数将 Excel 文件发送给前端进行下载。参数 `as_attachment=True` 表示以附件的形式下载文件,`attachment_filename` 表示下载的文件名,`mimetype` 表示文件的 MIME 类型。
阅读全文