JXL生成的excel文件+JAVA文件下载功能
发布时间:2020-05-24 22:23:20 所属栏目:Java 来源:互联网
导读:JXL生成的excel文件+JAVA文件下载功能
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 /**
* 下载个人订单
* @param request
* @param response
* @param modelMap
*/
@RequestMapping(value="/download.do",method=RequestMethod.GET)
public void processDownload(HttpServletRequest request,HttpServletResponse response,ModelMap modelMap) {
long userId = getUserId(request);
String ids = request.getParameter("ids");
try {
Long[] idarray = getIdsFromStringArray(ids.split(","));
if (null == idarray || 0 == idarray.length) {
return;
}
// 直接往response的输出流中写excel
OutputStream outputStream = response.getOutputStream();
// 获取文件名称
String fileName = getUserFileName(userId);
// 下载格式设置
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename=/"" + fileName + "/"");
// 读取数据渲染模板并写入outputstream中
List<PhAdvertiSEOrderDO> advertiSEOrderList = phAdvertiSEOrderService.getAdvertiSEOrderByIds(idarray,userId);
outputStream = excelFileService.generalExcelFileInOutputStream(outputStream,advertiSEOrderList);
outputStream.close();
} catch (Exception e) {
logger.error("下载报表发生异常!",e);
}
}
/* (non-Javadoc)
* @see com.netease.photography.service.ExcelFileService#generalExcelFileInOutputStream(java.lang.String,java.io.OutputStream,java.util.List)
*/
public OutputStream generalExcelFileInOutputStream(OutputStream outputStream,List<PhAdvertiSEOrderDO> advertiSEOrderList) throws BiffException,IOException,WriteException {
// 检查参数是否合法
checkParam(tempalteFile,"no File",advertiSEOrderList);
// 获取模板
Workbook templatebook = Workbook.getWorkbook(new File(tempalteFile));
WritableWorkbook writeableWorkbook = Workbook.createWorkbook(outputStream,templatebook);
// 读取数据写入模板
readDataAndWriteTemplate(templatebook,writeableWorkbook,advertiSEOrderList);
return outputStream;
}
其中的重点就在于 WritableWorkbook writeableWorkbook = Workbook.createWorkbook(outputStream,templatebook); function getOrderFileNoDirect() {
var ids ="";
for(var i=0;i<30;i++){
if($("choose"+i) != null && $("choose"+i).checked == true) {
ids += $("choose"+i).value;
ids += ",";
}
}
if(ids==""){
alert('不能建立空报表!');
return;
}
window.open("download.do?ids="+ids);
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
