zoukankan      html  css  js  c++  java
  • java-下载excel 数据库数据映射到excel(类似查表展示)

    package com.cck.common.Utils;

    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;

    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.util.Iterator;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Map.Entry;

    /**
    * @program: Iplan_NkaRka_server
    * @description: DownExcel
    * @author: LiuZhiFeng
    * @create: 2021-07-30 10:31
    **/
    public class RowDataExcelUtil {

    public static void writeRowExcel(List<LinkedHashMap> list,
    HttpServletResponse response,
    String channelType) throws IOException {

    XSSFWorkbook xssfWorkbook = null;
    xssfWorkbook = new XSSFWorkbook();

    //创建工作表
    XSSFSheet xssfSheet;
    xssfSheet = xssfWorkbook.createSheet();
    //创建行
    XSSFRow xssfRow;
    //创建列,即单元格Cell
    XSSFCell xssfCell;

    xssfRow = xssfSheet.createRow(0);
    Map map = list.get(0);
    Iterator iterator = map.entrySet().iterator();
    int j=0;
    while (iterator.hasNext()) {
    Entry next = (Entry) iterator.next();
    xssfCell = xssfRow.createCell(j);
    xssfCell.setCellValue(next.getKey().toString());
    j++;
    }
    int k =0;
    for (int i = 0; i < list.size(); i++) {
    Map map1 = list.get(i);
    xssfRow = xssfSheet.createRow(i + 1);
    for(Object obj:map1.values()){
    System.out.println("value:"+obj);
    xssfCell = xssfRow.createCell(k);
    xssfCell.setCellValue(String.valueOf(obj));
    k++;
    }
    k=0;
    }

    String headStr = "attachment; filename="" +channelType+ "-RowData.xlsx"";
    response.setContentType("APPLICATION/OCTET-STREAM");
    response.setHeader("Content-Disposition", headStr);//
    OutputStream outl = response.getOutputStream();
    //FileOutputStream outl=new FileOutputStream("D://"+fileName);
    //用输出流写到excel
    try {
    xssfWorkbook.write(outl);
    outl.flush();
    }catch (IOException e) {
    e.printStackTrace();
    }finally {
    outl.close();
    }

    }

    }
  • 相关阅读:
    pat03-树1. 二分法求多项式单根(20)
    pat05-图1. List Components (25)
    pat06-图4. Saving James Bond
    pat05-图3. 六度空间 (30)
    pat05-图2. Saving James Bond
    pat04-树9. Path in a Heap (25)
    pat04-树8. Complete Binary Search Tree (30)
    pat04-树7. Search in a Binary Search Tree (25)
    pat04-树5. File Transfer (25)
    Two Sum
  • 原文地址:https://www.cnblogs.com/lzf2018pangpangxie/p/15078773.html
Copyright © 2011-2022 走看看