`

Java导出Excel简单实现<二>

    博客分类:
  • JAVA
 
阅读更多
pom依赖
<dependency>
      <groupId>org.apache.poi</groupId>
       <artifactId>poi</artifactId>
       <version>3.8</version>
</dependency>
controller接口方法:
   public void exportAppUserOrderRecordList(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException {

        ServletOutputStream sos = null;

        try{

            List appUserDtoList = new ArrayList();
            response.reset();
            sos = response.getOutputStream();
            HSSFWorkbook workbook = orderRecordService.buildHSSFWorkbook(this.buildTableHead(),appUserDtoList);
            workbook.write(sos);
            response.setContentType("application/octet-stream;charset=UTF-8");
            String fileName = new StringBuilder("用户导出").append("-").append(DateUtils.format(new Date(),"yyyyMMddHH")).toString();
            response.setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode(fileName +".xls", "utf-8"));
//            response.setHeader("Pragma", "public");
//            response.setHeader("Cache-Control","public");
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try {
                sos.flush();
            } catch (IOException e) {
                e.printStackTrace();
            }
            sos.close();
        }
    }


service接口实现方法:
   public <T> HSSFWorkbook buildHSSFWorkbook(Map<String, String> map, List<T> dataset) {
        // 声明一个工作薄
        HSSFWorkbook workbook = new HSSFWorkbook();
        // 生成一个表格  - sheet页的名称
        HSSFSheet sheet = workbook.createSheet("用户申请导出");
        // 设置表格默认列宽度为15个字节
        sheet.setDefaultColumnWidth(15);

        // 产生表格标题行  下标从0开始
        HSSFRow row = sheet.createRow(0);

        List<String> list = Arrays.asList(map.keySet().toArray(new String[map.keySet().size()]));

        for (int i = 0; i <list.size(); i++){
            HSSFCell cell = row.createCell(i);
            cell.setCellValue(list.get(i));
        }

        for(int i=0;i<dataset.size();i++){
            row = sheet.createRow(i+1);
            List<String> fileNameList = Arrays.asList(map.values().toArray(new String[map.values().size()]));
            for (int j = 0; j < fileNameList.size(); j++){
                HSSFCell cell = row.createCell(j);
                String value = null;
                try{
                    value = org.apache.commons.beanutils.BeanUtils.getProperty(dataset.get(i), fileNameList.get(j));
                    //value = dataset.get(i).get(fileNameList.get(j));
                }catch (Exception e){
                    e.printStackTrace();
                    value=null;
                    log.error("【用户申请记录导出】】异常" + fileNameList.get(j),e);
                }
                cell.setCellValue(value);
            }
        }
        log.info("【用户申请记录导出】条目:{}" + dataset.size());
        return workbook;
    }

 

private Map<String, String> buildTableHead() {
    Map<String,String> map = new LinkedHashMap<String,String>();
    map.put("用户ID","userId");
    map.put("用户名", "userName");
    map.put("手机号", "mobile");
    map.put("来源渠道", "channel");
    map.put("申请次数", "applyCount");
    map.put("创建时间", "createTimeStr");
    map.put("更新时间", "modifyTimeStr");
    map.put("业务状态", "statusStr");
    return map;
}

 

 

参考地址:

https://blog.csdn.net/jimmy609/article/details/41038537   更大数量看这里

 

 

分享到:
评论

相关推荐

    Java基于POI的导入导出excel功能,附带测试功能,项目基于Maven,导入即可用,带测试Main方法提供例子

    Java基于POI的导入导出excel功能,附带测试功能,项目基于Maven,导入即可用,带测试Main方法提供例子。 用于导入导出Excel的Util包,基于Java的POI。可将List&lt;Bean&gt;导出成Excel,或读取Excel成List&lt;Bean&gt;、Map...

    JAVA将数据按指定格式导出为EXCEL和从EXCEL读相关的内容视频教程.rar

    &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;读入 &lt;br&gt;&lt;br&gt;import org.apache.poi.hssf.usermodel.*;&lt;br&gt;import org.apache.poi.poifs.filesystem.*;&lt;br&gt;import java.io....

    Java实现Excel导入导出

    Map&lt;Integer, Object[]&gt; empinfo = new TreeMap&lt;&gt;(); int index = 1; empinfo.put(index++, new Object[]{"销售单号", "销售时间", "会员", "商品总额", "来源", "商品名称/属性", "数量", "单价"}); for ...

    java实现Excel导出

    在Java编程环境中,导出Excel是一项常见的任务,特别是在数据处理和报表生成的场景下。这里我们将深入探讨如何使用Java来实现Excel的导出功能。 首先,我们需要了解Java中用于处理Excel的主要库,Apache POI是一个...

    java中将数据和图片导出到Excel文件

    在Java编程环境下实现数据及图片导出至Excel文件是一项常见的任务,特别是在处理报表、数据分析等场景时。本文将详细解析如何通过Java代码来完成这一过程,包括如何创建Excel文档、写入数据、插入图片等关键步骤。 ...

    java导出到excel的工具类

    本篇文章将深入探讨如何使用Apache POI创建一个Java工具类来实现高效且灵活的Excel导出功能。 首先,我们需要了解Apache POI的基本用法。Apache POI提供了两种主要的API用于处理Excel文件:HSSF(用于旧版的.xls...

    java导出excel2007

    本文将深入探讨如何使用Apache POI库来实现在Java中导出Excel 2007文件,同时也会涉及如何处理Excel 2003的.xls格式。 Apache POI是Apache软件基金会的一个项目,它提供了一组API,用于读写Microsoft Office格式的...

    Java实现POI导出Excel

    Java实现POI导出Excel是Java开发者常用的一种技术,用于生成和操作Microsoft Office Excel文件。在Java中,Apache POI库提供了对微软Office文档格式的支持,包括读取和写入Excel文件。这篇博客文章...

    spring boot2快速导出excel的java工具类demo源码:export-excel

    spring boot2快速导出excel的示例源码 操作系统:windows10 JAVA jdk:1.8 开发工具:IDEA java架构:spring boot 2.1.6 gitHub:https://github.com/cn-h-jar/exportexcel 作者:jar 运行提示: 启动项目...

    java导出Excel文件.pdf

    文档标题为“java导出Excel文件.pdf”,描述了从导入依赖、配置文件、前端实现到后端处理的完整流程。涉及到的技术标签包括POI、Vue、Spring Boot以及jqGrid。我们接下来将按照标题和描述的要求,详细解读各个部分的...

    Java导出Excel源码

    在Java编程中,导出Excel是一项常见的需求,特别是在数据分析、报表生成和数据交换等领域。本文将深入探讨如何使用Java实现前台报表的导出功能,并控制导出的样式和字体大小,以此来创建自定义的Excel文件。我们将...

    Java导出Word文档的实现.docx

    本文将探讨如何使用Java高效地实现Word文档导出,主要聚焦于利用XDocReport和FreeMarker模板引擎的方式。 首先,Java中导出Word文档有多种途径,包括: 1. **Hutool的Word工具类**:这是一个简洁易用的Java工具库...

    最好用的java读取和导出excel工具

    支持读取excel封装到实体,直接使用输出流导出,使用模版导出,具体使用方法 见jar 中的README.md。源码地址:View on GitOsc https://gitee.com/modoumama/modoumama-excel-utils maven添加 &lt;repositories&gt; ...

    fastexcel操作excel(含实例和开发包)

    在Java编程领域,处理Excel文件是一项常见的任务,无论是数据分析、报表生成还是数据导入导出,Excel都是理想的选择。FastExcel是一款轻量级的Java库,专门用于读写Excel文件,其设计目标是提供高效且内存友好的解决...

    导出excel注解方式

    在Java编程中,导出Excel是一项常见的数据处理任务,尤其在数据分析、报表生成等领域中广泛应用。本教程将探讨如何利用注解方式实现简单的Excel表格导出功能。这种方法通常结合Java库,如Apache POI,来简化操作流程...

    java poi导出excel

    在Java中,如果你需要导出Excel文件,Java POI是一个非常实用的工具。下面将详细介绍如何使用Java POI来实现Excel的导出。 1. **引入依赖** 在Java项目中使用POI,首先需要在项目的构建文件(如Maven的pom.xml或...

    java导出excel需要的jar包

    Java导出Excel是Java开发中常见的一项任务,主要用于数据的批量处理和报表生成。在Java中,Apache POI库是一个非常流行的工具,它允许开发者创建、修改和读取Microsoft Office格式的文件,包括Excel(.xlsx)文件。...

    poi导出Excel实例

    &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi&lt;/artifactId&gt; &lt;version&gt;3.9&lt;/version&gt; &lt;/dependency&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi-ooxml&lt;/artifactId&gt; &lt;version&gt;...

    JAVA POI导出EXCEL代码

    本篇文章将详细介绍如何使用JAVA POI导出Excel。 一、准备工作 在开始编写代码前,确保已经添加了Apache POI库到项目的依赖管理中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;dependency&gt;...

    java使用EasyExcel导入导出excel(csdn)————程序.pdf

    Java使用EasyExcel进行Excel的导入导出是一种高效且便捷的方式,尤其对于大数据量的处理,EasyExcel能够很好地解决内存溢出的问题。以下是关于EasyExcel在Java中应用的详细讲解: 一、准备工作 在使用EasyExcel之前...

Global site tag (gtag.js) - Google Analytics