簡體   English   中英

如何使用fastapi在瀏覽器中下載由xlsxwriter生成的excel文件?

[英]How to download excel file that is generated by xlsxwriter in browser with using fastapi?

我正在使用 xlsxwriter for python 來生成 excel 文件。 該文件在我的根文件夾中生成。 我想在點擊 url 時用瀏覽器下載文件。 我正在使用以下代碼。

import xlsxwriter

workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()

worksheet.set_column('A:A', 20)

bold = workbook.add_format({'bold': True})

worksheet.write('A1', 'Hello')

worksheet.write('A2', 'World', bold)

worksheet.write(2, 0, 123)
worksheet.write(3, 0, 123.456)

workbook.close()

最好使用網絡服務器(nginx、apache 等)來提供文件。

此外,您可以在 FastAPI 端點中實現它,如下所示:

from fastapi import FastAPI
from fastapi.responses import FileResponse

app = FastAPI()

@app.get("/your-path")
def your_api():
    # create your excel file here and store the path in file_path
    # like this: file_path = "demo.xlsx"
    
    return FileResponse(path=file_path, filename=file_path, media_type='application/vnd.ms-excel')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM