Springbootは、EasyPoiで指定されたテンプレートを統合してexcleをエクスポートします

SpringbootはEasyPoiを統合してexcleをエクスポートします

EasyPoiチュートリアルからの抜粋:チュートリアルリンク

1.pom依存関係を追加します

<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-base</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-web</artifactId>
    <version>3.2.0</version>
</dependency>
<dependency>
    <groupId>cn.afterturn</groupId>
    <artifactId>easypoi-annotation</artifactId>
    <version>3.2.0</version>
</dependency>

2.エクスポート

テンプレートのエクスポートを指定する

利点は、いくつかのマージ、タイトル、フォントを構成する必要がないことです...

  • スペースの分離
  • 三眼操作{ {test?Obj:obj2}}
  • n:このセルが数値タイプであることを示します{ {n:}}
  • le: if / else { {le:()> 8?obj1:obj2}}で使用される長さ{ {le :()}}を表し ます
  • fd:フォーマット時間{ {fd:(obj; yyyy-MM-dd)}}
  • fn:フォーマットされた番号{ {fn:(obj; ###。00)}}
  • fe:データをトラバースし、行を作成します
  • !fe:行を作成せずにデータをトラバースします
  • $ fe:下に移動して挿入し、現在の行と次の行を下に移動します。size()行、次に挿入します
  • #fe:水平トラバーサル
  • v_fe:水平トラバーサル値
  • !if:現在の列を削除します{ {!if :(テスト)}}
  • 一重引用符は定数値を示します。」たとえば、「1」の場合、出力は1になります。
  • &NULL&スペース
  • ]]新行文字の複数行トラバーサルエクスポート
  • 合計:統計データの書き込み
    fe fe符号コロンリストデータ単一要素データ(デフォルトはt、書き込みはできません)最初の要素
    { {$ fe:maplist t t.id}}

ディレクトリ構造:
ここに写真の説明を挿入
テンプレートの内容:
ここに写真の説明を挿入
自分でテンプレートを作成したので、添付ファイルをアップロードしません...ねえ、私は大物にこのように見せることしかできません

javaコード:

package com.email.demo.controller;

import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.io.File;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.*;

@Api(value = "poi导出excle", tags = {
    
    "poi导出excle"})
@Slf4j
@Validated
@RestController
@RequestMapping("/poi")
public class EasyPoiController {
    
    

    @GetMapping("/export")
    public void export() throws Exception{
    
    

        SimpleDateFormat format =  new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat format2 =  new SimpleDateFormat("yyyyMMddHHmmss");
        String formatTimeStr = format.format(new Date());
        String formatTimeStr2 = format2.format(new Date());

        TemplateExportParams params = new TemplateExportParams("poi/指定模板poi导出.xlsx");
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("unitSeal", "单位公章33333");
        map.put("date", formatTimeStr);
        map.put("createDate", formatTimeStr);
        map.put("money", 2000000.00);
        map.put("person", "老周");
        map.put("phone", "13111111111");

        List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();
        for (int i = 0; i < 4; i++) {
    
    
            Map<String, String> lm = new HashMap<String, String>();
            lm.put("id", i + 1 + "");
            lm.put("nature", i * 10000 + "");   // 资金性质
            lm.put("num", UUID.randomUUID().toString().replace("-", ""));   // 编码
            lm.put("name", "A001" + i);
            lm.put("projectName", "项目名称" + i);
            lm.put("userName", "用户姓名" + i);
            lm.put("bankId", "银行账号" + i);
            lm.put("bankName", "开户银行" + i);
            lm.put("application", "200" + i);
            lm.put("approved", "500" + i);

            listMap.add(lm);
        }
        map.put("maplist", listMap);

        Workbook workbook = ExcelExportUtil.exportExcel(params, map);
        File savefile = new File("D:/excel/");
        if (!savefile.exists()) {
    
    
            savefile.mkdirs();
        }
        FileOutputStream fos = new FileOutputStream("D:/excel/模板导出" + formatTimeStr2 +".xlsx");
        workbook.write(fos);
        System.out.println("导出excle文件成功!");
        fos.close();

    }
}

テスト

Swaggerがリクエストを送信します:
ここに写真の説明を挿入
OKです!

コンソールもOKを出力し
ここに写真の説明を挿入
、Dディスクに追加のファイルがあります。
ここに写真の説明を挿入
生成されたデータ:
ここに写真の説明を挿入
OK !!!

コメントを残して一緒に学ぶために大物を歓迎します!!!ありがとう!!!

===========================
元の記事、ソースとともに転載!

おすすめ

転載: blog.csdn.net/dayonglove2018/article/details/106800943