Java批量导出word压缩后的zip文件案例
一、js代码,由于参数比较大所以利用form表单使用post导出
functionexport_word(){ varselectedRows=$("#dg").datagrid("getSelections"); if(selectedRows.length==0){ showAlertWarning("请选择一条的信息..."); return; } if(selectedRows.length>1){//批量导出压缩文件 varid=""; for(vari=0;i二、controller代码(读完压缩文件后删除文件)
/** * *@Description考核成绩汇总考核表批量导出压缩 *@FcunctionexportWordsZip *@paramresponse *@returnReturnDatas * */ @ResponseBody @SystemControllerLog(description="考核成绩汇总考核表批量导出压缩") @RequestMapping(value="exportWordsZip") publicReturnDatasexportWordsZip(HttpServletResponseresponse,Stringid,Stringtype){ ReturnDatasreturnDatas=ReturnDatas.getSuccessReturnDatas(); try{ response.setCharacterEncoding("UTF-8"); response.setContentType("application/msexcle"); response.setHeader("content-disposition","attachment;filename="+newString("考核成绩汇总表".getBytes("gb2312"),"ISO8859-1")+".zip"); StringfileUrl=assessGradeSumService.exportWordsZip(id,type); OutputStreamoutputStream=response.getOutputStream(); BufferedInputStreambis=newBufferedInputStream(newFileInputStream(fileUrl));; BufferedOutputStreambos=newBufferedOutputStream(outputStream); byte[]buff=newbyte[2048]; intbytesRead; while(-1!=(bytesRead=bis.read(buff,0,buff.length))){ bos.write(buff,0,bytesRead); } bis.close(); bos.close(); outputStream.close(); Filezip=newFile(fileUrl); if(zip.exists()&&zip.isFile()){ zip.delete(); } returnreturnDatas; }catch(Exceptione){ e.printStackTrace(); LogUtil.error("考核成绩汇总考核表批量导出压缩异常:"+e.getMessage(),e); returnDatas.setStatus(ReturnDatas.ERROR); returnDatas.setMessage("考核成绩汇总考核表批量导出压缩异常。"); } returnreturnDatas; }三、实现类代码,其中exportWord()和exportWordForSpecific()都是具体的word导出方法,生成zip压缩文件后删除word文件,ZipUtils是压缩文件工具类
/** * *@FcunctionexportWordsZip *@paramid *@paramtype *@returnString * */ @Override publicStringexportWordsZip(Stringid,Stringtype)throwsException{ String[]ids=id.split("@@"); ListfileList=newArrayList<>(); Stringurl="C:\\"; for(inti=0;i 以上这篇Java批量导出word压缩后的zip文件案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。