Spring Boot3整合Jxls工具包实现模版excel导出文件

引入依赖包

pom 复制代码
        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls</artifactId>
            <version>2.14.0</version>
        </dependency>

        <dependency>
            <groupId>org.jxls</groupId>
            <artifactId>jxls-poi</artifactId>
            <version>2.14.0</version>
        </dependency>

创建Excel模版文件

在模版中第一个单元格设置批注,设置jxls扫描区域,如:jx:area(lastCell="U2")

在循环数据列的第一个单元格批注设置jxls指令进行循环展示数据,如:jx:each(items="items" var="item" lastCell="U9")

其他详细指令可查看官方文档

封装工具类

java 复制代码
public class JxlsUtils {

    public static void exportExcel(InputStream is, OutputStream os, Map<String, Object> model) throws IOException {
        Context context = new Context();
        if (model != null) {
            for (String key : model.keySet()) {
                context.putVar(key, model.get(key));
            }
        }
        // 使用 JxlsHelper 自动处理转换
        JxlsHelper.getInstance()
                // 禁用Jxls在生成Excel文件时对模板中所有公式的自动处理和重新计算
                .setProcessFormulas(false)
                .processTemplate(is, os, context);
    }
}

在pom文件maven打包工具配置不需要过滤的文件扩展名

pom 复制代码
<build>
	<plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.0.2</version>
                <configuration>
                	<!-- 指定不需要过滤的文件扩展名 -->
                    <nonFilteredFileExtensions>
                    	<!-- 禁止过滤 Excel 2007+ 格式 -->
                        <nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
                        <!-- 禁止过滤 Excel 97-2003 格式 -->
                        <nonFilteredFileExtension>xls</nonFilteredFileExtension>
                    </nonFilteredFileExtensions>
                </configuration>
            </plugin>
     </plugins>
</build>
相关推荐
阿维的博客日记6 小时前
Hippo4j 线程池监控平台部署手册
java·spring boot·后端
万少7 小时前
AtomCode开发微信小程序《谁去呀》 全流程
前端·javascript·后端
GetcharZp8 小时前
Epic、暴雪都在用的 C++ 界面利器:Dear ImGui 零基础全景指南
后端
pixcarp8 小时前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
红尘散仙9 小时前
别再手动录屏了:用 VHS 给终端应用生成会动的文档素材
后端·rust
张忠琳12 小时前
【Go 1.26.4】Golang Select 深度解析
开发语言·后端·golang
IT_陈寒12 小时前
React中useEffect依赖项这个坑我居然踩了三天
前端·人工智能·后端
AC赳赳老秦13 小时前
OpenClaw+Power Apps 实战:自动生成 Power Apps 应用、连接 Excel 数据源
大数据·开发语言·python·serverless·excel·deepseek·openclaw
提笔了无痕13 小时前
如何用Go实现整套RAG流程
开发语言·后端·golang
成都第一深情IZZO13 小时前
事务未提交就发送 MQ,导致消费者读不到订单数据的问题
后端