前 言:
此篇介绍的只是在服务器上将模板下载下来,不设计数据的处理,后续在发布一版关于数据处理导出的。
前端代码
<button type="button" onclick="excelExport()" class="layui-btn layui-btn-small">模板下载</button>
按钮点击调用
function excelExport() {
window.location.href = "/prisoner/exportTemplateExcel";
}
后端java接口
@RequestMapping(value = "/exportTemplateExcel", method= RequestMethod.GET)
@ResponseBody
public void exportTemplateExcel(HttpServletRequest request , HttpServletResponse response) throws IOException {
// 获取固定Excel文件作为输入流 (参数为配置的模板路径)
InputStream in = this.getClass().getResourceAsStream("/static/template/fxrymm.xlsx");
OutputStream toClient = null;
byte[] buffer;
try {
// 获取导出文件的字节数组
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer1 = new byte[1024];
int len = 0;
while ((len = in.read(buffer1)) != -1) {
outStream.write(buffer1, 0, len);
}
in.close();
buffer = outStream.toByteArray();
// 导出Excel
if (null != buffer && buffer.length > 0) {
// 清空response
response.reset();
// 设置response的Header
response.addHeader("Content-Disposition",
"attachment;filename=" + new String(("服刑人员模板.xlsx").getBytes("GBK"), "ISO8859_1"));
response.addHeader("Content-Length", "" + buffer.length);
toClient = response.getOutputStream();
response.setContentType("application/octet-stream");
toClient.write(buffer);
toClient.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(toClient != null){
toClient.close();
}
if(in != null){
in.close();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律