Javaはeasypeiを使って迅速に導入して導き出す実現を実現します。


概要
名前のeasypeiのような機能は、主な機能は簡単で、poiに接触したことがない人に簡単にExcel導入を書き出すことができます。エクスポートします。簡単な注釈とテンプレート言語(熟知した表現文法)によって、以前の複雑な書き方を完成します。
統合
pomに依存を取り入れると良いです。

    <!--easypoi-->
    <dependency>
      <groupId>cn.afterturn</groupId>
      <artifactId>easypoi-base</artifactId>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>cn.afterturn</groupId>
      <artifactId>easypoi-web</artifactId>
      <version>3.0.3</version>
    </dependency>
    <dependency>
      <groupId>cn.afterturn</groupId>
      <artifactId>easypoi-annotation</artifactId>
      <version>3.0.3</version>
    </dependency>
工具類のEasyPoiUtilを整合します。

package cn.common.util;

import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.enmus.ExcelType;
import cn.common.exception.ZXException;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;

/**
 * @author huangy
 * @date 2019/6/28 14:57
 */
public class EasyPoiUtil {
    /**
    *   Excel,         。      
    *
    * @param list       
    * @param title     
    * @param sheetName sheet  
    * @param pojoClass       
    * @param isCreateHeader       
    * @param fileName    
    * @param response
    * @return 
    */
  public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass, String fileName, boolean isCreateHeader, HttpServletResponse response){
    ExportParams exportParams = new ExportParams(title, sheetName);
    exportParams.setCreateHeadRows(isCreateHeader);
    defaultExport(list, pojoClass, fileName, response, exportParams);

  }

  /**
   *   Excel             
   */
  public static void exportExcel(List<?> list, String title, String sheetName, Class<?> pojoClass,String fileName, HttpServletResponse response){
    defaultExport(list, pojoClass, fileName, response, new ExportParams(title, sheetName));
  }

  /**
   * map sheet    
   * @param list
   * @param fileName
   * @param response
   */
  public static void exportExcel(List<Map<String, Object>> list, String fileName, HttpServletResponse response){
    defaultExport(list, fileName, response);
  }

  /**
   *         
   * @param list
   * @param pojoClass
   * @param fileName
   * @param response
   * @param exportParams
   */
  private static void defaultExport(List<?> list, Class<?> pojoClass, String fileName, HttpServletResponse response, ExportParams exportParams) {
    Workbook workbook = ExcelExportUtil.exportExcel(exportParams,pojoClass,list);
    ExcelExportUtil.closeExportBigExcel();
    if (workbook != null);
    downLoadExcel(fileName, response, workbook);
  }

  /**
   *  sheet      
   * @param list
   * @param fileName
   * @param response
   */
  private static void defaultExport(List<Map<String, Object>> list, String fileName, HttpServletResponse response) {
    Workbook workbook = ExcelExportUtil.exportExcel(list, ExcelType.HSSF);
    ExcelExportUtil.closeExportBigExcel();
    if (workbook != null);
    downLoadExcel(fileName, response, workbook);
  }

  /**
   *   excel
   * @param fileName
   * @param response
   * @param workbook
   */
  private static void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) {
    try {
      response.setCharacterEncoding("UTF-8");
      response.setHeader("content-Type", "application/vnd.ms-excel");
      response.setHeader("Content-Disposition",
          "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
      workbook.write(response.getOutputStream());
    } catch (IOException e) {
      throw new ZXException(e.getMessage());
    }
  }

  /**
   *          
   * @param filePath
   * @param titleRows
   * @param headerRows
   * @param pojoClass
   * @param <T>
   * @return
   */
  public static <T> List<T> importExcel(String filePath,Integer titleRows,Integer headerRows, Class<T> pojoClass){
    if (StringUtils.isBlank(filePath)){
      return null;
    }
    ImportParams params = new ImportParams();
    params.setTitleRows(titleRows);
    params.setHeadRows(headerRows);
    List<T> list = null;
    try {
      list = ExcelImportUtil.importExcel(new File(filePath), pojoClass, params);
    }catch (NoSuchElementException e){
      throw new ZXException("      ");
    } catch (Exception e) {
      e.printStackTrace();
      throw new ZXException(e.getMessage());
    }
    return list;
  }

  /**
   *    MultipartFile   
   * @param file
   * @param titleRows
   * @param headerRows
   * @param pojoClass
   * @param <T>
   * @return
   */
  public static <T> List<T> importExcel(MultipartFile file, Integer titleRows, Integer headerRows, Class<T> pojoClass){
    if (file == null){
      return null;
    }
    ImportParams params = new ImportParams();
    params.setTitleRows(titleRows);
    params.setHeadRows(headerRows);
    List<T> list = null;
    try {
      list = ExcelImportUtil.importExcel(file.getInputStream(), pojoClass, params);
    }catch (NoSuchElementException e){
      throw new ZXException("excel      ");
    } catch (Exception e) {
      throw new ZXException(e.getMessage());
    }
    return list;
  }

}

使用例
エンティティクラス

public class BlackListExport {
  @Excel(name = "    ", width = 15, orderNum = "2")
  private String name;
  @Excel(name = "  ", width = 10, orderNum = "1")
  private String remark;
  @Excel(name = "   ", width = 15, orderNum = "0")
  private String phone;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public String getPhone() {
    return phone;
  }

  public void setPhone(String phone) {
    this.phone = phone;
  }

  public BlackListExport() {
  }

  public BlackListExport(String name, String remark, String phone) {
    this.name = name;
    this.remark = remark;
    this.phone = phone;
  }
}

インターフェース

  @ApiOperation(value = "easyPoiUtil     ")
  @GetMapping(value = "/poi/export1")
  public void export1(HttpServletResponse response){
    List<BlackListExport> list=new ArrayList<>();
    for(int i=0;i<10000;i++){
      list.add(new BlackListExport(i+"",i+"",i+""));
    }
    EasyPoiUtil.exportExcel(list,"zx","huangy",BlackListExport.class,"zx.xls",response);
  }

  /**
   *       sheet data         list        ,
   *          sheet   ,        list    data   sheet      。
   * @param response
   */
  @ApiOperation(value = " sheet     ")
  @GetMapping(value = "/poi/export2")
  public void export2(HttpServletResponse response){
    //     ,    
    List list = new ArrayList<>();
    list.add(new BlackListExport("  1","  1","  1")) ;
    list.add(new BlackListExport("  2","  2","  2")) ;
    list.add(new BlackListExport("  3","  3","  3")) ;
    List list2 = new ArrayList<>();
    list2.add(new BlackListExport("  -1","  -1","  -1")) ;
    list2.add(new BlackListExport("  -2","  -2","  -2")) ;
    list2.add(new BlackListExport("  -3","  -3","  -3")) ;
    List<Map<String,Object>> sheetsList = new ArrayList<>();
    for(int i=1;i<=4;i++){
    //       
    //       (    excel sheet      )
    ExportParams params = new ExportParams() ;
    //   sheet   
    params.setSheetName("  "+i);

    //  sheet   map
    Map<String,Object> dataMap = new HashMap<>();
    // title    ExportParams  ,     ExportParams    sheetName
    dataMap.put("title",params) ;
    //            
    dataMap.put("entity",BlackListExport.class) ;
    // sheet       
    if(i%2==0){
      dataMap.put("data",list) ;
    }else {
      dataMap.put("data",list2) ;
    }

    sheetsList.add(dataMap);
    }
    EasyPoiUtil.exportExcel(sheetsList,"hy.xls",response);
  }
ここでは、Javaを使って、easypeiを使って、迅速に導入された実現された文章について紹介します。Java easypeiに関する詳細な導入内容は、私たちの以前の文章を検索したり、以下の関連記事を見たりしてください。これからもよろしくお願いします。