<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      springboot~aspose操作word模板實現導出功能

      事情是這樣的,系統有這樣一個需求,有一些單子供客戶下載打印,做為憑證,而這些單子一般屬于word格式的,里面的排版非常固定,只是上面的內容不同,這就屬于word模板的范疇了,目前比較不好的操作word的組件就是aspose了,下面我來說一下它的使用方法。

      word模板

      主要使用了word里的域,然后選擇“郵件合并”,在“域名”處輸入你的word變量名,然后在java代碼里為這個變量賦值就可以了

      添加組件引用

      把組件放到resource/lib目錄下

              <dependency>
                  <groupId>com.bdyh.common</groupId>
                  <artifactId>common</artifactId>
                  <version>0.0.1</version>
                  <scope>system</scope>
                  <systemPath>${project.basedir}/src/main/resources/lib/aspose-words-15.8.0-jdk16.jar</systemPath>
              </dependency>
      

      代碼生成

      aspose組件存在授權問題,沒有授權的會有水印出現

        private static InputStream license;
        private static InputStream fileInput;
       public static void generateApproveForm(HttpServletResponse response,
                                               List<CompanyLawyerEducationAddDTO> counterpartDetails) {
          // 驗證License
          if (!getLicense("templates/companyLawyerApprove.docx")) {
            return;
          }
          try {
            long old = System.currentTimeMillis();
            Document doc = new Document(fileInput);
            //主要調用aspose.words的郵件合并接口MailMerge
            //3.1 填充單個文本域
            String[] Flds = new String[]{"Title", "Name", "URL", "Note"}; //文本域
            Object[] Vals = new Object[]{"標題", "測試",  "http://test.com", word模板導出"}; //值
            doc.getMailMerge().execute(Flds, Vals); //調用接口
            response.setHeader("Content-Disposition", "attachment; filename=審批單.pdf");
            response.setContentType("application/octet-stream;charset=UTF-8");
      
            OutputStream output = response.getOutputStream();
            doc.save(output, SaveFormat.PDF);
      
            output.flush();
            output.close();
      }
      
       public static boolean getLicense(String templateName) {
          boolean result = false;
          try {
            license = new ClassPathResource("lib/license.xml").getInputStream();
            fileInput = new ClassPathResource(templateName).getInputStream();
      
            License aposeLic = new License();
            aposeLic.setLicense(license);
            result = true;
          } catch (Exception e) {
            e.printStackTrace();
          }
          return result;
        }
      

      以上模板是最簡單的文本域的,如果有興趣還可以把表格域也放上去,實現列表的輸出等。

      posted @ 2020-03-07 13:15  張占嶺  閱讀(2724)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧美人成电影在线观看| 亚洲美免无码中文字幕在线| 爱啪啪精品一区二区三区| 在线观看特色大片免费视频| 九九热爱视频精品视频| 在线综合亚洲欧洲综合网站| 国产午精品午夜福利757视频播放| 国模少妇无码一区二区三区| 日韩中文字幕人妻精品| 亚洲综合无码一区二区三区不卡| 人妻中文字幕亚洲一区| 国产熟睡乱子伦视频在线播放| 午夜成人无码免费看网站| 精品国产女同疯狂摩擦2| 真人无码作爱免费视频| 在线亚洲高清揄拍自拍一品区| 国产一区二区三区不卡视频| 亚洲国产成人无码影片在线播放| 亚洲AV午夜电影在线观看 | 四虎成人精品永久网站| 人人做人人澡人人人爽| 国产精品天堂蜜av在线播放| 中文字幕在线永久免费视频| 平果县| 亚洲色av天天天天天天| 精品国产91久久粉嫩懂色| 久久精品国产久精国产69| 少妇人妻偷人精品免费| 少妇高潮潮喷到猛进猛出小说| 日韩av中文字幕有码| 欧洲精品免费一区二区三区| 国产美熟女乱又伦AV果冻传媒| 人妻少妇精品系列| 国产精品自在拍在线播放| 国产精品日韩中文字幕| 人妻系列中文字幕精品| 国内在线视频一区二区三区| 亚洲人成网站999久久久综合 | 国产亚洲亚洲国产一二区| 亚洲成人精品综合在线| 精品av综合导航|