《技术分享》java导出数据xlsx表

本文介绍了如何使用Java实现数据导出为Excel(xlsx)格式的功能。首先,在pom.xml文件中添加相关插件解决依赖问题。接着,创建一个xlsx模板放在静态资源目录下。最后,在Controller层编写接口处理导出操作,通过Swagger进行测试验证导出功能。注意文件名可能出现乱码的问题。
摘要由CSDN通过智能技术生成

场景:在有些系统里可以看见有导出功能,导出一些数据,这时候可以把数据查出来,封装在一个list集合里返回到controller,然后实现导出。
也就是说 service层以下的代码实现和正常查询一样,把你需要导出的数据查出来,然后返回。我们可以在controller层来写导出功能代码。

1.首先在pom文件里添加一个插件
一开始不知道要添加这个插件,结果写完代码报错,报一个IOP…Exception,具体什么异常忘记了,哈哈。现在来看这个插件

		  <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <version>2.6</version>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                    <nonFilteredFileExtensions>
                        <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>

2.来准备一个xlsx表格模板,放在静态资源resoucers下
当然这只是一种方法或者格式,还有其他表格类型,那样代码可能稍微有些不同
在这里插入图片描述在这里插入图片描述就这样 就可以了哈。
3.然后就需要去controller写一个接口。二话不说直接上代码

/**
    * @Description: 水质水量导出
     *@Param:
     * @return:
    * @Author: 毕
    * @Date: 2020/1/8 14:26
    */
    @ApiOperation(value = "水质水量导出",httpMethod="POST")
    @PostMapping("/queryWaterQuantityListExport")
    public void queryWaterQuantityListExport(
            @ApiParam(name = "", value = "条件筛选")  @RequestBody MonitorItemRelationDto monitorItemRelationDto){
   
		//这里是调用方法普通查询得到的一个对象集合(现在要把这个导出)
        List<MonitorItemRelationDto> monitorItemRelationDtos = waterQuantitysService.queryWaterQuantityList(monitorItemRelationDto);

		//这里是开始写导出的功能了,开始看这
        ServletOutputStream outputStream=null;
        try {
   
        	//输入流来获取刚才你建的那个表格
            InputStream inputStream = this.getClass().getResourceAsStream("/excel/WaterQuantitysExcel.xlsx");
            //这个XSSFWorkbook 注意,看一下自己的文件是不是.xlsx,是才对应XSSFWorkbook 
            XSSFWorkbook xls = 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值