【发布时间】:2018-06-20 21:16:54
【问题描述】:
我有一个 react 组件,它对我的小 api 进行 ajax 调用(使用 axios),然后我在自动下载的“.xls”文件中获取数据响应。一切正常,但是当我打开 .xls 文件时,Excel 会通过以下消息警告我:
“myfile.xls”的文件格式和扩展名不匹配。该文件可以 被损坏或不安全。除非你相信它的来源,否则不要打开它。做 还是要打开?
如果我忽略此警告并继续打开文件,它会打开并显示我正确预期的数据。 但是给用户看这个消息不是很优雅,怎么去掉呢?
我的代码是下一个:
创建xml的代码:
from io import StringIO
import csv
MyAPIClass(Resource):
(...)
si = StringIO()
cw = csv.writer(si, dialect='excel-tab')
cw.writerows(dataset) #my iterable data list#
output = make_response(si.getvalue())
output.headers["Content-Type"] = "application/vnd.ms-excel"
output.headers["Content-Disposition"] = "attachment; filename=installations.xls"
return output
处理 axios (ajax) 调用以下载我的 api 创建的文件的代码:
exportToExcel() {
const FileDownload = require('react-file-download');
axios({method:'post', url: '/myapi_to_excel', headers: {'Accept': ' text/csv'})
.then(res => {
FileDownload(res.data, 'myfile.xls');
});
}
谢谢!!!祝你有美好的一天!
【问题讨论】:
标签: excel python-3.x reactjs axios flask-restful