JavaのPOIは、絵と言葉を導出します

  1.導​​入が簡単な説明を行うためにここには、具体的にgithubの外観に、Mavenの、神は一瞬のために大きなパッケージです

公式構文

テキスト構文は{{テキスト}} 

ピクチャのシンタックスは{{}} @Image

その他の公式文書には、自分の目で確かめてください

<! - githubのソリューションhttps://github.com/Sayi/poi-tl--の単語処理> 
<依存>
<groupIdを> com.deepoove </ groupIdをを>
<たartifactId> POI-TL </たartifactId >
<バージョン> 1.0.0 </バージョン>
</依存関係>


  2.準備テンプレート

 

 3.コードショー

 

地図<文字列、オブジェクト>データ= 新しい新しい HashMapの<文字列、オブジェクト> ();
 // 名前 
data.put( "名前"、 "気功ポリシー" );
 // セックス 
data.put( "性別"、 "女性" );
 // photoPathの絵の先頭アドレス 
 data.put( "フォト"、新新 PictureRenderData(127、185 、photoPath));
 // 他の属性コードが省略されている
 // 書き込みワード出力

        してみてください{
            文字列DOCNAME = DateUtil.DateToString(新しい日付()、DateStyle.YYYYMMDDHHMMSS)+ ".docxの" 
            ClassPathResourceテンプレート =  ClassPathResource( "単語/ appointDismiss.docx" );
            文字列filePathに = template.getFile()ある、getPath()。
            XWPFTemplate xwpfTemplate = XWPFTemplate.compile(filePathに)
                    .render(データ)。

            ファイルこのtargetFileは = 新しいファイル(DOCNAMEを)。
            FileOutputStreamアウト = 新しいのFileOutputStream(このtargetFile)。
            xwpfTemplate.write(アウト)。
            out.flush();
            out.close();
            xwpfTemplate.close();
            // ブラウザへの出力をダウンロード
            FileUtil.downFile(要求、応答、DOCNAME、このtargetFile)。
            FileUtil.deleteDir(targetFile.getPath())。
        } キャッチ(例外e){
            log.info( "失敗したファイルの生成:" + e.getMessage());
             スロー 新しい新 DataNotFoundException( "失敗したファイルの生成:" + e.getMessage());
        }

 

  / **
     *ブラウザにファイルをダウンロード
     * @paramの要求
     * @paramの応答
     * @Param ファイル名、ファイル名をダウンロードしたいです
     * @Paramのファイルオブジェクトをダウンロードするためのファイル
     * @throws IOExceptionが
      * / 
    パブリック 静的な 無効 downFile(HttpServletRequestのリクエスト、HttpServletResponseの応答、文字列のファイル名、ファイルのファイル)がスローにIOException {
         //   文件存在才下载
        場合(file.exists()){
            うちのOutputStream = nullを
            FileInputStreamのでは = ヌル;
             試み{
                 // 1.コンテンツをダウンロードする読み込む 
                =で新しい新しいFileInputStreamを(ファイル);

                // ダウンロードするブラウザや一部の設定を指示する2ウェイ
                 // 解決ファイル名は問題を文字化け、ブラウザの種類、フォーマット変換をコードする対応するファイル名を取得し、IEは要件があるfirefoファイル名は、UTF-8でなければならない必要がISO-8859-1符号化 
                文字列= request.getHeaderエージェント( "ユーザエージェント" );
                 IF(agent.contains( "ファイヤーフォックス" )){
                    ファイル名 = 新しい文字列(filename.getBytes( "UTF-8")、 "ISO-8859-1" )。
                } {
                    ファイル名 = URLEncoder.encode(ファイル名、 "UTF-8" )。
                }
                // ダウンロードファイルmineTypeを設定し、ファイルの種類ダウンロードするには、ブラウザを伝える 
                文字列mineType = request.getServletContext()のgetMimeType(ファイル名);
                response.setContentType(mineType)。
                // レスポンスヘッダを設定するかどうか、またはブラウザによって解析されていないが、ダウンロードされ 
                response.setHeader(。+「コンテンツの廃棄」、「ファイル名=添付」ファイル名);
                 //は、ブラウザ出力ストリームによってダウンロードされるファイルの内容を記述します 
                = OUT response.getOutputStream();
                 INT LEN = 0 ;
                 バイト []バッファ= 新しい新しい バイト [1024 ];
                 一方、((LEN = in.read(緩衝液))> 0 ){
                    out.write(バッファ、 0 、LEN)。
                }
            } キャッチ(IOExceptionを電子){
                e.printStackTrace();
            } 最後に{
                 場合(アウト!= nullの){
                    out.close();
                }
                もし(中!= nullの){
                    )(in.close。
                }
            }
        }
    }
    / **
     *すべてのファイルとサブディレクトリ内のすべてのファイルが再帰的に下のディレクトリを削除します
     *
     * @Param ファイルのディレクトリパスfilePathには削除されます
     * @return すべての削除が成功した場合は、「真」のブール値を返します。
     削除が失敗した場合*、方法はしようと停止します
     *削除し、リターン「偽」。
     * / 
    パブリック 静的 ブールdeleteDir(文字列filePathに){
        ファイルDIR = 新しいファイル(filePathに);
        もし(dir.isDirectory()){
            String []型の子供 = dir.list();
             // ディレクトリを再帰的に削除サブディレクトリ
            のためのint型 I = 0; I <children.length; I ++ ){
                 ブール成功= DeleteDir(filePathにFile.separator + + 子供[ I]);
                 IF!(成功){
                     リターン falseに
                }
            }
        }
        // ディレクトリが空である、あなたは削除することができ
        、リターン)(dir.deleteを。
    }

 

結果:

 

 

 

おすすめ

転載: www.cnblogs.com/mark-luo/p/11897840.html
おすすめ