XLSTransformer.transformWorkbook导出excel不能将列导出完整问题

article/2025/11/5 3:18:07

生产就项目用到jxls加poi导出excel文件

//模拟数据
List data = new ArrayList<>();
Map<String,Object> excelMap = new HashMap<>();excelMap.put("ro", data );
//项目用到的导出代码
String fileName = SystemConst.WEB_ROOT_PATH + File.separator +"store/export/"+URLEncoder.encode("订单排单_"+time, "UTF-8")+".xls";
File  outFile = new File(fileName);
XLSTransformer transformer = new XLSTransformer();
//旧项目导出会用到模板excel(很垃圾的处理)
InputStream is = new BufferedInputStream(new FileInputStream(new File(SystemConst.WEB_ROOT_PATH+"/template/exportUserOrder.xls")));
HSSFWorkbook workBook = new HSSFWorkbook(is);
transformer.transformWorkbook(workBook, excelMap);
OutputStream os = new FileOutputStream(outFile);
workBook.write(os);
os.flush();

配置的excel如图用${}占位符,

在这里插入图片描述

然后去执行导出,诡异的时导出竟然没有将省份导出,很难受

在这里插入图片描述
经过debuge排查,终于找到了问题所在
在这里插入图片描述
原因就是它会将${ro.province}中进行替换,将ro后面加上_JxLSC,因为province中也有ro所以替换了province被替换成了pro_JxLSC_vince,所以只要将前缀ro改成和province不一样的单词就行

List data = new ArrayList<>();
//在这里将ro改成rv
Map<String,Object> excelMap = new HashMap<>();excelMap.put("rv", data );
//项目用到的导出代码
String fileName = SystemConst.WEB_ROOT_PATH + File.separator +"store/export/"+URLEncoder.encode("订单排单_"+time, "UTF-8")+".xls";
File  outFile = new File(fileName);
XLSTransformer transformer = new XLSTransformer();
//旧项目导出会用到模板excel(很垃圾的处理)
InputStream is = new BufferedInputStream(new FileInputStream(new File(SystemConst.WEB_ROOT_PATH+"/template/exportUserOrder.xls")));
HSSFWorkbook workBook = new HSSFWorkbook(is);
transformer.transformWorkbook(workBook, excelMap);
OutputStream os = new FileOutputStream(outFile);
workBook.write(os);
os.flush();

最终导出结果正确展示
在这里插入图片描述


http://chatgpt.dhexx.cn/article/WYsPnWI3.shtml

相关文章

Jxls异常 Cannot load XLS transformer. Please make sure a Transformer impleme

错误&#xff1a;Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath 原因&#xff1a; 这是 jxls 的版本升级2.4后需要额外导入其他依赖 还要在plugins中加上以下插件 <plugin><groupId>org.apache.maven.plugins</…

Excel之XLSTransformer

前言 利用该工具类可以向excel模板中写入数据&#xff0c;而不用写过多代码画excel 引入依赖 java <dependency> <groupId>net.sf.jxls</groupId> <artifactId>jxls-core</artifactId> <version>1.0.3</version> </dependency>…

使用XLSTransformer生成报表的步骤和流程

使用XLSTransformer生成XLS报表的步骤和流程&#xff1a; 需要引入的jar包&#xff1a; jxls-core-0.9.7.jar jxls-reader-0.9.7.jar poi-3.6.jar commons-jexl-1.1.jar commons-digester-2.0.jar commons-beanutil-core-1.8.3.jar commons-collection.jar 示例代码…

利用模板导出文件(一)之XLSTransformer导出excel文件

由于现在好多公司都在实行办公无纸化操作&#xff0c;所以一般都是使用excel以及word来办公&#xff0c;本文是公司项目中使用excel文件模板生成对应的文件&#xff1a; 首先&#xff0c;需要导入一下几个包&#xff1a; 接下来就是具体的代码&#xff1a; import java.io.Fil…

关于使用XLSTransformer.transformXLS导出Excel表格中遇到的问题

1. 需求&#xff1a;最近拿到的一个任务&#xff0c;是将订单列表导出&#xff0c;按照订单列表导出&#xff08;包括筛选条件&#xff09;。 背景&#xff1a;由于原本的订单列表查询代码太过繁重&#xff0c;里面夹杂的逻辑较多&#xff0c;再有一个是自己想尽快的熟悉公司…

最简单方便的excel导出方式

前言&#xff1a;开发各种统计系统以及报表系统之类的不可避免的就是导出excel功能&#xff0c;传统的poi用过的都知道&#xff0c;每个sheet每个row都需要去定义去美化&#xff0c;繁琐不说还很浪费时间&#xff0c;最近本人发现两种较快速的方法&#xff0c;一种是excel模版方…

Handler、Looper、HandleThread、ActivityThread简介

1. Handler 源码位于&#xff1a; platform/frameworks/base/core/java/android/os/Handler.java Handler允许发送和处理与线程的MessageQueue关联的Message和Runnable对象。每个Handler实例都与单个线程和该线程的消息队列相关联。 当创建一个新的Handler时&#xff0c;它会被…

Android—ActivityThread与Handler

应用启动过程&#xff1a; ActivityThread ActivityThread就是主线程或UI线程&#xff0c;ActivityThread的main方法是整个APP的入口。 public final class ActivityThread {//... final H mH new H();final ArrayMap<IBinder, ActivityClientRecord> mActivities n…

ActivityThread运行框架

http://www.embeddedlinux.org.cn/Androidkernel/77.htm 在分析中&#xff0c;我们可以看到真正对应应用进程的不是Application而是ActivityThread。我们从实际的应用堆栈可以看到&#xff1a; NaiveStart.main() ZygoteInit.main ZygoteInit$MethodAndArgsCall.run Method.In…

ActivityThread应用进程

ActivityThread应用进程 android12-release Zygote进程SystemServer进程(即system_server)Launcher启动过程、AMS:startActivity桌面启动应用 缺少具体应用进程启动 1. 涉及进程 Zygote进程&#xff1a;init进程 fork 第一个Java进程&#xff0c;Zygote是所有Java进程的父进…

Android-Activity

配置Activity&#xff1a; 如果Activity所在的包与AndroidManifest.xml文件的<manifest></manifest>标签中通过 package属性指定的包名一致&#xff0c;则android:name属性的值可以直接设置为“.Activity名称” <activity android:name"…

ActivityThread的main方法究竟做了什么?

ActivityThread的main方法究竟做了什么&#xff1f; 本文原创&#xff0c;转载请经过本人准许。 写在前面&#xff1a; 在暴雨天能去上课的都是好学生&#xff0c;能去上班的都是游泳运动员~ 问大家一个问题&#xff1a; Android中一个应用程序的真正入口是什么&#xff1f; …

Android Activity.startActivity流程简介

1. 基本概念 1.1 Instrumentation是什么? 顾名思义&#xff0c;仪器仪表&#xff0c;用于在应用程序中进行“测量”和“管理”工作。一个应用程序中只有一个Instrumentation实例对象&#xff0c;且每个Activity都有此对象的引用。Instrumentation将在任何应用程序运行前初始化…

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context

问题描述 FATAL EXCEPTION: main Process: com.wuchen.juexiao_mvvm, PID: 11732 android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 原因分析…

Android主线程(ActivityThread)源代码分析

在写这篇博客之前,先抛出一个问题&#xff0c;安卓应用程序的入口是什么呢&#xff1f;我想不少人可能回答说:application的onCreate方法&#xff0c;其实并不是的&#xff0c;即使是application&#xff0c;也有一个方法比onCreate先执行&#xff0c;这个方法就是attachBaseCo…

Android :Activity

Activity Activity 代表手机或平板电脑中的一屏&#xff0c;它提供了和用户交互的可视化界面。 一个 Android 应用中&#xff0c;可以有多个 Activity。这些 Activity 组成了 Activity 栈&#xff08;Stack&#xff09;&#xff0c;当前活动的 Activity 位于栈顶。 Activity …

ActivityThread

ActivityThread运行框架 在分析中&#xff0c;我们可以看到真正对应应用进程的不是Application而是ActivityThread。我们从实际的应用堆栈可以看到&#xff1a; NaiveStart.main() ZygoteInit.main ZygoteInit$MethodAndArgsCall.run Method.Invoke method.invokeNative Activi…

【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )

文章目录 一、Activity 启动源码分析 ( AMS | ActivityManagerService )1、Instrumentation 调用 AMS 方法2、ActivityStarter 调用 AMS 方法3、Process 启动新进程 二、Activity 启动源码分析 ( ActivityStarter )1、ActivityStarter.startActivityMayWait() 方法2、ActivityS…

Android 中你碰不到但是很重要的类之ActivityThread

作者&#xff1a;Drummor 通过本文能了解一下内容 1、和系统进程打交道的桥头堡 应用进程起来之后ART(Android Runtime)第一站就是ActivityThread&#xff0c;代码层面上就是ActivityThread的main()方法&#xff0c;是不是很熟悉&#xff0c;爷青回啊&#xff0c;这不就是java…

浅析ActivityThread#main()方法和生命周期事务处理(代码基于Android-12)

浅析ActivityThread#main()方法和生命周期事务处理&#xff08;代码基于Android-12&#xff09; 问题&#xff1a; Activity、Application的onCreate()在哪被调用的&#xff1f; ContentProvider为什么比Application先创建&#xff1f; Activity#attach()在哪里被调用的&#…