springMVC导出POI的excel,angularjs接收,但是excel打不开xlsx
js导出方法:
$scope.showYes = function () {
var needFields = getTheNeedFields();
$http.post("/aa.do?fields="+needFields, {responseType: 'arraybuffer'}).then(function (response) {
var data = new Blob([response.data], {type: response.headers('Content-Type')});
var filename = response.headers('Content-Disposition').split(';')[1].trim().substr('filename='.length);
FileSaver.saveAs(data, filename);
});
};
服务端处理方法:
@RequestMapping("/aa")
public void testExportDynamic(HttpServletResponse response) throws IOException {
String fileName = System.currentTimeMillis()+"";
response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8")+ ".xlsx");
OutputStream os = response.getOutputStream();
Map map = new HashMap();
String fields = request.getParameter("fields");
map.put("fields", fields);
//Map对象,带null的对象
List result = userDao.loadDatasBySelectionFields(map);
XSSFWorkbook workbook = MehtodApis.exportExcelFile(result, fields);
// OutputStream os = new FileOutputStream("D:/export2007_" + System.currentTimeMillis() + ".xlsx");
//
workbook.write(os);
os.close();
}
但是下载的文件是这样的:
控制台:
如果我用这种输出的excel到觉得路径下,文件是没问题的。
Map map = new HashMap();
String fields = request.getParameter("fields");
map.put("fields", fields);
//Map对象,带null的对象
List result = userDao.loadDatasBySelectionFields(map);
XSSFWorkbook workbook = MehtodApis.exportExcelFile(result, fields);
OutputStream os = new FileOutputStream("D:/export2007_" + System.currentTimeMillis() + ".xlsx");
workbook.write(os);
os.close();
神马问题呢?怎么处理好呢?
相关阅读:
关于js,通过实例来继承的原型链问题.
php 响应 ajax 的时候,怎么返回 json 对象呢?我这样对吗?
java 对象转json字符串忽略类型,所有值都加上双引号,如何做?我用的是fastjson。
如何在 webpack构建时 去掉 hmr (热加载)
javascript运行里边的挂起是什意思?
http://codepen.io/anon/pen/kkxELE
raspbian 下 Transmission-daemon 不能随开机正常自启,如何解决?
oss和普通图床有什么区别?
站點雙語言建議?
JspWriter与ServletOutputstream在JSP页面冲突处理方式
用WAMP搭建两个站点如何实现
js语法错误
mysql 非主键做范围查找实现原理的一点困惑
Node 层如何管理日志记录
想做一个微信公众号 本地环境改怎么搭建?
選擇器選擇某一個option後再出現一個選擇器?
微信小程序不能操作dom吗?
fileReader上传的图片如何从服务器再下载到特定位置
小程序wx.getUserInfo 中的 encryptData 解密
关于使用angular使用正则或者其他方式如何获取到某一段文本中指定的字符