如何通过使用FastApi在浏览器中XLSXWriter生成的Excel文件?

发布于 2025-02-10 20:12:13 字数 434 浏览 2 评论 0原文

我正在使用XLSXWriter作为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()

I am using xlsxwriter for python to generate excel files. The file is generated in my root folder. I want to download the file with the browser when the url is hit. I am using the following code.

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()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

妖妓 2025-02-17 20:12:13

最好使用WebServer(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')

It's better to use a webserver(nginx, apache, etc.) to serve your files.

Also, you can implement it in a FastAPI endpoint like the below:

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')
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文