![](/img/trans.png)
[英]Upload an excel file read the data from file and insert it into database using spring boot rest api
[英]Proper way to get data from Spring REST API and save as Excel file stream using AngularJS?
我们有一些Spring REST API,它们从后端数据库中获取数据,并将它们作为JSON数据返回给客户端。 AngularJS是我们现在正在使用的客户端JavaScript框架。 现在我们需要将一些数据另存为Excel文件,以便客户下载。 该文件需要作为流下载,因为某些文件可能很大。 有没有解决问题的优雅方法?
我假设您有一个可生成JSON报告的终结点。 让我们将其命名为/api/reports/report1
。 所以这样的请求:
GET /api/reports/report1 HTTP/1.1
Accept: application/json
以JSON格式返回报告:
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
[
{
"fullName": "John Doe",
"annualIncome": 100000
},
(...)
]
扩展端点以生成application/vnd.ms-excel
。 因此对话将如下所示:
GET /api/reports/report1 HTTP/1.1
Accept: application/vnd.ms-excel
HTTP/1.1 200 OK
Content-Type: application/vnd.ms-excel
(... binary excel data ...)
如果您想将下载内容嵌入为HTML链接,则此方法将无法正常工作,因为此时无法设置Accept
标头。
生成下载链接。 这将适用于大量下载(如您在此处提到的情况)。 不过,在这种情况下,您将需要一个不同的URL来表示报告的Excel(例如/api/reports/report1/excel
或/api/reports/report1?format=excel
)。 或者,您可以使用选项1并将Excel设置为默认的哑元(当请求中的Accept
标头设置为*/*
时)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.