SpingBoot整合jxls2.0-excel导出—— 列表循环,自定义方法,超链接等

本文介绍了如何使用jxls2.0与SpringBoot结合,轻松导出包含列表循环、自定义方法和超链接等复杂格式的Excel。通过两种方式,jxls-core和jxls+jxls-poi,详细讲解了配置与实现过程,解决了模板文件被编译成二进制导致的格式问题,并提供了具体代码示例。
摘要由CSDN通过智能技术生成

       Java中实现excel导出数据的方法有很多,一般简单的可以通过操作POI进行,但是复杂的excel格式导出如果用POI就显得非常麻烦,本文介绍的jxls2.0完全依据模板进行导出,只需要进行简单的配置加数据,即可导出人工处理级别的复杂excel格式,因此写下几个系列教程供大家参考。

       普通循环列表导出是一个非常简单的需求,实现它的方式有两种Api

方式一:jxls-core依赖(功能较弱,不推荐)

<dependency>
    <groupId>net.sf.jxls</groupId>
    <artifactId>jxls-core</artifactId>
    <version>1.0.5</version>
</dependency>

另外需要注意一点:很多同学在做模板类型数据导出的时候,频繁遇到导出后文件格式打不开的情况,这个时候最有可能导致的错误不是代码有问题,而是因为模板文件被编译成了二进制文件,因此对于这一点需要特别处理,现在大多都是用Maven作为管理工具,对于Maven需要特别的配置如下:

<build>
   <plugins>
      <!-- 对xls模板打包但不编译 -->
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-resources-plugin</artifactId>
         <configuration>
            <nonFilteredFileExtensions>
               <nonFilteredFileExtension>xls</nonFilteredFileExtension>
            </nonFilteredFileExtensions>
         </configuration>
      </plugin>
   </plugins>
</build>

是否是这个错误也很好检查,办法如下

手动打开target包下对应的模板文件,看是否会报格式错误,自然就会明白问题到底出在哪一步了

具体实现代码非常简单,就直接贴出来了:

    /***
     * 数据导出
     * @param request
     * @param model
     * @return
     */
    @RequestMapping(value = "/monitoring/exportExcel")
    public void exportExcel(HttpServletRequest request, HttpServletResponse response, HttpSession session, Model model) throws Exception {
        
        // List集合 此处省略
        List<Test> test = new ArrayList<>();
        
        // 加入到模板集合中
        Map<String, Object> datamap = new HashMap<>();
        datamap.put("test", test);

        try {
            // 获取模板绝对路径
            String path = session.getServletContext().getRealPath("");
            // 模板文件路径
          
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值