XLSTransformer生成excel文件简单示例

article/2025/11/5 3:16:14

项目结构图:

项目中所用到的jar,可以到http://www.findjar.com/index.x下载


ExcelUtil类源码:

[java] view plain copy
  1. package util;  
  2.   
  3. import java.io.IOException;  
  4. import java.net.URL;  
  5. import java.util.HashMap;  
  6. import java.util.List;  
  7. import java.util.Map;  
  8.   
  9. import net.sf.jxls.exception.ParsePropertyException;  
  10. import net.sf.jxls.transformer.XLSTransformer;  
  11. /** 
  12.  * Excel生成类. 
  13.  */  
  14. public class ExcelUtil {  
  15.     /** 
  16.      * 根据模板生成Excel文件. 
  17.      * @param templateFileName 模板文件. 
  18.      * @param list 模板中存放的数据. 
  19.      * @param resultFileName 生成的文件. 
  20.      */  
  21.     public void createExcel(String templateFileName, List<?> list, String resultFileName){  
  22.         //创建XLSTransformer对象  
  23.         XLSTransformer transformer = new XLSTransformer();  
  24.         //获取java项目编译后根路径  
  25.         URL url = this.getClass().getClassLoader().getResource("");  
  26.         //得到模板文件路径  
  27.         String srcFilePath = url.getPath() + templateFileName;  
  28.         Map<String,Object> beanParams = new HashMap<String,Object>();  
  29.         beanParams.put("list", list);  
  30.         String destFilePath = url.getPath() + resultFileName;  
  31.         try {  
  32.             //生成Excel文件  
  33.             transformer.transformXLS(srcFilePath, beanParams, destFilePath);  
  34.         } catch (ParsePropertyException e) {  
  35.             e.printStackTrace();  
  36.         } catch (IOException e) {  
  37.             e.printStackTrace();  
  38.         }  
  39.     }  
  40.   
  41. }  

Test类源码:
[java] view plain copy
  1. package test;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import po.Fruit;  
  7. import util.ExcelUtil;  
  8. /** 
  9.  * 测试类. 
  10.  */  
  11. public class Test {  
  12.   
  13.     public static void main(String[] args) {  
  14.         List<Fruit> list = new ArrayList<Fruit>();  
  15.         list.add(new Fruit("苹果",2.01f));  
  16.         list.add(new Fruit("桔子",2.05f));  
  17.         String templateFileName = "template/template.xls";  
  18.         String resultFileName = "result/fruit.xls";  
  19.         new ExcelUtil().createExcel(templateFileName,list,resultFileName);  
  20.   
  21.     }  
  22.   
  23. }  

template.xls模板文件截图:

注意:如果你是用的office 2007生成的excel模板,要另存为97-2003版本的。


Fruit类源码:

[java] view plain copy
  1. package po;  
  2. /** 
  3.  * 水果. 
  4.  */  
  5. public class Fruit {  
  6.     /** 
  7.      * 水果名称. 
  8.      */  
  9.     private String name;  
  10.     /** 
  11.      * 水果价格. 
  12.      */  
  13.     private float price;  
  14.       
  15.       
  16.     public Fruit() {  
  17.         super();  
  18.     }  
  19.       
  20.     public Fruit(String name, float price) {  
  21.         super();  
  22.         this.name = name;  
  23.         this.price = price;  
  24.     }  
  25.     public String getName() {  
  26.         return name;  
  27.     }  
  28.     public void setName(String name) {  
  29.         this.name = name;  
  30.     }  
  31.     public float getPrice() {  
  32.         return price;  
  33.     }  
  34.     public void setPrice(float price) {  
  35.         this.price = price;  
  36.     }  
  37.       
  38. }  

生成fruit.xls文件截图:


http://chatgpt.dhexx.cn/article/34UcSOBN.shtml

相关文章

XLSTransformer生成excel文件简单演示样例

项目结构图&#xff1a; 项目中所用到的jar&#xff0c;能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码&#xff1a; package util;import java.io.IOException; import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map;i…

XLSTransformer+模板 导出 Excel

利用excel模板来导出excel文件&#xff0c; 十分方便 RequestMapping(value "/download/vin", method RequestMethod.GET)ResponseBodypublic ResBody exportExcel(HttpServletRequest request) {String path request.getSession().getServletContext().getRealPa…

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

生产就项目用到jxls加poi导出excel文件 //模拟数据 List data new ArrayList<>(); Map<String,Object> excelMap new HashMap<>();excelMap.put("ro", data ); //项目用到的导出代码 String fileName SystemConst.WEB_ROOT_PATH File.separat…

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…