zoukankan      html  css  js  c++  java
  • Java导出excel示例

    博主每次记录的都是自己从不会到会的过程,其实学习的过程就是摸打滚爬。我看了不少的博客,然后自己手动整理总结一份最简单的版本。保证一看就知道怎么回事。我的初衷就是先保证会用,然后在说后话。开始撸代码

    第0步:添加依赖

    <dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
    <version>4.1.0</version>
    </dependency>

    第一步:撸代码

    package com.gaiaworks.paymentplatform.controller.zyzcontroller;

    import org.apache.poi.xssf.usermodel.*;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.OutputStream;
    import java.io.UnsupportedEncodingException;
    import java.net.URLEncoder;

    /**
    * 文件名:ExcelTest
    * 作 者:Miles zhu
    * 时 间:2019/7/11 11:09
    * -------------------------
    * 功能和描述:
    **/

    @RestController
    @RequestMapping("zyz")
    public class ExcelTest {

    @RequestMapping("excel")
    public void excelTest(HttpServletRequest request, HttpServletResponse response) {

    try {
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    response.setContentType("application/x-download");

    String fileName = "test.xlsx";
    fileName = URLEncoder.encode(fileName, "UTF-8");
    response.addHeader("Content-Disposition", "attachment;filename=" + fileName);
    /************************************以上内容直接照抄--fileName根据自己实际来就行******************************************/
    //第一步:定义一个新的工作簿
    XSSFWorkbook web = new XSSFWorkbook();
    //第二步:创建一个sheet页
    XSSFSheet sheet = web.createSheet("firstSheet");
    //设置行高
    sheet.setDefaultRowHeight((short) (2 * 256));
    //设置列宽
    sheet.setColumnWidth(0, 4000);
    sheet.setColumnWidth(1, 4000);

    //设置样式或者是字体
    XSSFFont font = web.createFont();
    //设置字体
    font.setFontName("宋体");
    font.setFontHeightInPoints((short) 16);

    //创建第一行
    XSSFRow row = sheet.createRow(0);
    //为该行创建第一个单元格
    XSSFCell cell = row.createCell(0);
    //设置单元格中的内容--实际就是表头吧(每一列的名字--映射到数据表就是字段吧)
    cell.setCellValue("name ");
    //为该行创建第二个单元格
    cell = row.createCell(1);
    //设置单元格中的内容--实际就是表头吧(每一列的名字--映射到数据表就是字段吧)
    cell.setCellValue("age ");

    //定义一个行
    XSSFRow rows;
    //定义一个单元格
    XSSFCell cells;

    for (int i = 1; i < 10; i++) {
    // 第三步:在这个sheet页里创建一行(每次循环都会创建一个新的行)
    rows = sheet.createRow(i);
    // 第四步:在该行创建一个单元格
    cells = rows.createCell(0);
    // 第五步:在该单元格里设置值
    cells.setCellValue("小狗" + i);

    //在该行创建的第二个单元格
    cells = rows.createCell(1);
    //为该单元格设置值
    cells.setCellValue(i + 1);
    }
    try {
    OutputStream out = response.getOutputStream();
    web.write(out);
    out.close();
    web.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
    }

    }
    }
    完---------------所有你想知道的我已经注释的很清楚了。

  • 相关阅读:
    java 环境变量配置
    框架分成介绍
    Net 新特性
    一 设计模式六大原则
    web api 配置
    Visual Studio检查内存泄露方法
    深度比较对象的不同
    reportview 安装使用
    Nuget 常用命令
    freeswitch学习笔记
  • 原文地址:https://www.cnblogs.com/zyzblogs/p/11169432.html
Copyright © 2011-2022 走看看