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文件案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。