Java导出excel示例

匿名 (未验证) 提交于 2019-12-02 21:45:52

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

第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();        }    }}完---------------所有你想知道的我已经注释的很清楚了。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!