最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java批量導(dǎo)出word壓縮后的zip文件案例

 更新時(shí)間:2020年10月01日 11:11:22   作者:Z丶royAl  
這篇文章主要介紹了Java批量導(dǎo)出word壓縮后的zip文件案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

一、js代碼,由于參數(shù)比較大所以利用form表單使用post導(dǎo)出

 function export_word(){
  var selectedRows = $("#dg").datagrid("getSelections");
  if (selectedRows.length==0) {
   showAlertWarning("請(qǐng)選擇一條的信息...");
   return;
  }
  if (selectedRows.length > 1) {//批量導(dǎo)出壓縮文件
   var id = "";
   for (var i = 0; i < selectedRows.length; i++) {
    var row = selectedRows[i];
    id += row.id+"name"+row.user_name+"@@";
   }
   layer.confirm('請(qǐng)選擇要導(dǎo)出考核表的類型?', {
    btn: ['次數(shù)','具體條目'] //按鈕
   }, function(index){
    postExportFile({"id":id,"type":0},"jee/AssessGradeSumC/exportWordsZip");
    layer.close(index);
   }, function(index){
    postExportFile({"id":id,"type":1},"jee/AssessGradeSumC/exportWordsZip");
   });
  } else {//導(dǎo)出單個(gè)
   layer.confirm('請(qǐng)選擇要導(dǎo)出考核表的類型?', {
    btn: ['次數(shù)','具體條目'] //按鈕
   }, function(index){
    window.location.href= "jee/AssessGradeSumC/exportWord?id="+selectedRows[0].id;
    layer.close(index);
   }, function(index){
    window.location.href= "jee/AssessGradeSumC/exportWordForSpecific?id="+selectedRows[0].id;
   });
  }
 }
 
 function postExportFile(params, url) { //params是post請(qǐng)求需要的參數(shù),url是請(qǐng)求url地址
  var form = document.createElement("form");
  form.style.display = 'none';
  form.action = url;
  form.method = "post";
  document.body.appendChild(form);
 
  for(var key in params){
   var input = document.createElement("input");
   input.type = "hidden";
   input.name = key;
   input.value = params[key];
   form.appendChild(input);
  }
 
  form.submit();
  form.remove();
 }

二、controller代碼(讀完壓縮文件后刪除文件)

 /**
 *
 * @Description 考核成績(jī)匯總考核表批量導(dǎo)出壓縮
 * @Fcunction exportWordsZip
 * @param response
 * @return ReturnDatas
 *
 */
 @ResponseBody
 @SystemControllerLog(description = "考核成績(jī)匯總考核表批量導(dǎo)出壓縮")
 @RequestMapping(value = "exportWordsZip")
 public ReturnDatas exportWordsZip(HttpServletResponse response, String id, String type) {
 ReturnDatas returnDatas = ReturnDatas.getSuccessReturnDatas();
 try {
 response.setCharacterEncoding("UTF-8");
 response.setContentType("application/msexcle");
 response.setHeader("content-disposition", "attachment;filename=" + new String("考核成績(jī)匯總表".getBytes("gb2312"), "ISO8859-1") + ".zip");
 String fileUrl = assessGradeSumService.exportWordsZip(id,type);
 OutputStream outputStream = response.getOutputStream();
 BufferedInputStream bis = new BufferedInputStream(new FileInputStream(fileUrl));;
 BufferedOutputStream bos = new BufferedOutputStream(outputStream);
 byte[] buff = new byte[2048];
 int bytesRead;
 while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
 bos.write(buff, 0, bytesRead);
 }
 bis.close();
 bos.close();
 outputStream.close();
 File zip = new File(fileUrl);
 if (zip.exists() && zip.isFile()) {
 zip.delete();
 }
 return returnDatas;
 } catch (Exception e) {
 e.printStackTrace();
 LogUtil.error("考核成績(jī)匯總考核表批量導(dǎo)出壓縮異常:" + e.getMessage(), e);
 returnDatas.setStatus(ReturnDatas.ERROR);
 returnDatas.setMessage("考核成績(jī)匯總考核表批量導(dǎo)出壓縮異常。");
 }
 return returnDatas;
 }

三、實(shí)現(xiàn)類代碼,其中exportWord()和exportWordForSpecific()都是具體的word導(dǎo)出方法,生成zip壓縮文件后刪除word文件,ZipUtils是壓縮文件工具類

/**
 *
 * @Fcunction exportWordsZip
 * @param id
 * @param type
 * @return String
 *
 */
 @Override
 public String exportWordsZip(String id, String type)throws Exception{
 String[] ids = id.split("@@");
 List<File> fileList = new ArrayList<>();
 String url = "C:\\";
 for (int i = 0; i < ids.length; i++) {
 String id_name = ids[i];
 String id_value = id_name.split("name")[0];
 String name = id_name.split("name")[1];
 String docUrl = url + name + ".doc";
 fileList.add(new File(docUrl));
 XWPFDocument workbook = null;
 if ("0".equals(type)) {//按次
 workbook = exportWord(id_value);
 } else {//表單條目
 workbook = exportWordForSpecific(id_value);
 }
 FileOutputStream out = new FileOutputStream(docUrl);
 workbook.write(out);
 }
 String zipUrl = url+"考核成績(jī)匯總表.zip";
 FileOutputStream fos = new FileOutputStream(new File(zipUrl));
 ZipUtils.toZip(fileList, fos);
 for (File out:fileList) {
 if (out.exists() && out.isFile()) {
 out.delete();
 }
 }
 return zipUrl;
 }

以上這篇Java批量導(dǎo)出word壓縮后的zip文件案例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?boot詳解fastjson過濾字段為null值如何解決

    Spring?boot詳解fastjson過濾字段為null值如何解決

    這篇文章主要介紹了解決Spring?boot中fastjson過濾字段為null值的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • IntelliJ IDEA 安裝 Grep Console插件 自定義控制臺(tái)輸出多顏色格式功能

    IntelliJ IDEA 安裝 Grep Console插件 自定義控制臺(tái)輸出多顏色格式功能

    由于Intellij idea不支持顯示ascii顏色,grep-console插件能很好的解決這個(gè)問題,下面就以開發(fā)JavaEE項(xiàng)目中,結(jié)合Log4j配置多顏色日志輸出功能,感興趣的朋友一起看看吧
    2020-05-05
  • Java ClassCastException異常解決方案

    Java ClassCastException異常解決方案

    這篇文章主要介紹了Java ClassCastException異常解決方案,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java制作android 日歷代碼分享

    java制作android 日歷代碼分享

    本文給大家分享的是一段使用java制作Android日歷的代碼,非常簡(jiǎn)單實(shí)用,實(shí)現(xiàn)了讀取日歷事件、插入事件、編輯日歷事件、查看日歷等功能,有需要的小伙伴參考下
    2015-03-03
  • 淺談java異常處理之空指針異常

    淺談java異常處理之空指針異常

    下面小編就為大家?guī)硪黄獪\談java異常處理之空指針異常。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • Mybatis返回結(jié)果封裝map過程解析

    Mybatis返回結(jié)果封裝map過程解析

    這篇文章主要介紹了Mybatis返回結(jié)果封裝map過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 關(guān)于MyBatis10種超好用的寫法(收藏)

    關(guān)于MyBatis10種超好用的寫法(收藏)

    這篇文章主要介紹了關(guān)于MyBatis10種超好用的寫法(收藏),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 淺談Java8 的foreach跳出循環(huán)break/return

    淺談Java8 的foreach跳出循環(huán)break/return

    這篇文章主要介紹了Java8 的foreach跳出循環(huán)break/return,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java8新特性-Lambda表達(dá)式詳解

    Java8新特性-Lambda表達(dá)式詳解

    Java 8 (又稱為 jdk 1.8) 是 Java 語(yǔ)言開發(fā)的一個(gè)主要版本。Lambda 表達(dá)式,也可稱為閉包,它是推動(dòng) Java 8 發(fā)布的最重要新特性。本文通過詳細(xì)的代碼示例介紹了Java8新特性感興趣的朋友可以參考一下
    2023-04-04
  • springIoc及注解的使用實(shí)例詳解

    springIoc及注解的使用實(shí)例詳解

    注解(Annotation)是一種在 Java 程序中以元數(shù)據(jù)的形式對(duì)代碼進(jìn)行標(biāo)記和說明的機(jī)制,它可以被添加到類、方法、字段、參數(shù)等程序元素上,用于提供額外的信息和指示,本文給大家介紹springIoc及注解的使用,感興趣的朋友一起看看吧
    2024-02-02

最新評(píng)論

临城县| 怀远县| 龙山县| 柳州市| 康马县| 大宁县| 顺平县| 富源县| 武义县| 西盟| 清新县| 页游| 屏南县| 米林县| 遂平县| 中方县| 甘孜县| 固阳县| 罗甸县| 鄂尔多斯市| 海安县| 昭苏县| 邳州市| 江口县| 靖州| 古交市| 阜宁县| 库车县| 额尔古纳市| 旺苍县| 南华县| 桃江县| 集安市| 禄劝| 蓝山县| 大田县| 手游| 南郑县| 金门县| 岱山县| 甘泉县|