1. 在对应目录上放入已经准备好的模板:
2. 前台jsp页面的一个按钮:
<a href="javascript:void(0)" class="easyui-linkbutton"
data-options="iconCls:'icon-add'" οnclick="getUserTemplate();">获取模板</a>
3. js函数:
function getUserTemplate() {
window.location.href = "UserAction!getUserTemplateTC.action";
}
4. 后台action代码(不需要Struts.xml配置文件):
public void getUserTemplateTC() {
HttpServletRequest request = this.getRequest();
HttpServletResponse response = this.getResponse();
//获取文件的路径
String excelPath = request.getSession().getServletContext().getRealPath("/Excel/"+"天池基础信息导入模板_标准.xls");
String fileName = "天池基础信息导入模板_标准.xls".toString(); // 文件的默认保存名
// 读到流中
InputStream inStream;
try {
inStream = new FileInputStream(excelPath);//文件的存放路径
// 设置输出的格式
response.reset();
response.setContentType("bin");
response.addHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode("天池基础信息导入模板_标准2.xls", "UTF-8"));
// 循环取出流中的数据
byte[] b = new byte[200];
int len;
while ((len = inStream.read(b)) > 0){
response.getOutputStream().write(b, 0, len);
}
inStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
5.后台action代码(需要struts.xml时):
action:
public String getUserTemplateTC() {
HttpServletRequest request = this.getRequest();
//获取文件的路径
String excelPath = request.getSession().getServletContext().getRealPath("/Excel/"+"天池基础信息导入模板_标准.xls");
try {
userTemplateIs = new FileInputStream(excelPath);//文件的存放路径
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "userTemplate";
}
struts.xml:
<result name="userTemplate" type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="inputName">userTemplateIs</param>
<param name="contentDisposition">
fileName = "${userTemplateName}"
</param>
<param name="bufferSize">1024</param>
</result>
步骤4和步骤5 选一种即可。