1.添加依赖:http://mvnrepository.com/artifact/org.jxls
<dependency>  
  <groupId>org.jxls</groupId>  
  <artifactId>jxls</artifactId>  
  <version>2.4.3</version>  
</dependency>
 
2.创建Excel模板
Jxls默认支持Apache JEXL表达式语言,用于在模板中操作Java对象的属性及方法,类似于EL表达式。
如图:

注:
Jxls利用Excel的批注声明各种命令,
jx:each()  这是一个遍历注释,默认向下增加一行。官网写可以横向遍历(增加direction 参数)
上图中:A1单元格的批注:jx:area(lastCell="D4"),定义模板区域是A1:D4
A4单元格的批注:jx:each(items="employees" var="employee" lastCell="D4"),定义Each循环命令 ,lastCell="D4 表示Each命令的操作区域是A4:D4
 
3.java代码
/**
* 简单列表导出--将绩效大于2000的显示绿色,大于1000小于2000的显示黄色,小于1000的显示红色
* @author chendd
*/
public class SimpleIfJxls { public static void main(String[] args) throws Exception {
//构造集合数据
List<Employee> employees = new ArrayList<Employee>();
Calendar time = Calendar.getInstance();
time.set(2015, 5, 20);
Date date = time.getTime();
employees.add(new Employee("lishengle" , date , new BigDecimal(5000) , new BigDecimal(800)));
employees.add(new Employee("jiajitao" , date , new BigDecimal(6000) , new BigDecimal(1200)));
employees.add(new Employee("jiangjunjian" , date , new BigDecimal(8500) , new BigDecimal(2500)));
employees.add(new Employee("sunming" , date , new BigDecimal(17000) , new BigDecimal(1500)));
employees.add(new Employee("chendd" , date , new BigDecimal(17000) , new BigDecimal(1500)));
employees.add(new Employee("zenxianrong" , date , new BigDecimal(7500) , new BigDecimal(3500)));
//载入模板
InputStream is = SimpleIfJxls.class.getClass().getResourceAsStream("/cn/chendd/examples/templates/simpleIf.xls");
Context context = new Context();
context.putVar("employees", employees);
context.putVar("title", "员工信息列表");
OutputStream os = new FileOutputStream(new File("d:\\test\\out_simpleIf.xls"));
//指定Sheet文件解析
JxlsHelper.getInstance().processTemplate(is, os, context);
os.flush();
os.close();
is.close();
} } public class Employee { private String name;
private Date birthDate;
private BigDecimal payment;
private BigDecimal bonus; public Employee() {
super();
} public Employee(String name, Date birthDate, BigDecimal payment,
BigDecimal bonus) {
super();
this.name = name;
this.birthDate = birthDate;
this.payment = payment;
this.bonus = bonus;
} //省略getter/setter }

更多参考:https://www.chendd.cn/information/viewInformation/other/224.a

JXLS2.4导出Excel的更多相关文章

  1. jxls-2.x导出excel入门——基本操作

    之前随笔使用的是1.x的比较古老的版本了,已经不再维护,接下来使用较新的2.x的版本进行导出 之前一直按照其他的博客与官网的随笔进行导出,发现一直报错,后面更换了POI的版本为3.16(因为jxls也 ...

  2. C#使用Aspose.Cells导出Excel简单实现

    首先,需要添加引用Aspose.Cells.dll,官网下载地址:http://downloads.aspose.com/cells/net 将DataTable导出Xlsx格式的文件下载(网页输出) ...

  3. 利用poi导出Excel

    import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...

  4. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...

  5. NPOI导出Excel

    using System;using System.Collections.Generic;using System.Linq;using System.Text;#region NPOIusing ...

  6. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  7. asp.net DataTable导出Excel 自定义列名

    1.添加引用NPOI.dll 2.cs文件头部添加 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.IO; 3.代码如 ...

  8. Aspose.Cells导出Excel(1)

    利用Aspose.Cells导出excel 注意的问题 1.DataTable的处理 2.进行编码,便于中文名文件下载 3.别忘了Aspose.Cells.dll(可以自己在网上搜索) public ...

  9. 前端导出Excel兼容写法

    今天整理出在Web前端导出Excel的写法,写了一个工具类,对各个浏览器进行了兼容. 首先,导出的数据来源可能有两种: 1. 页面的HTML内容(一般是table) 2. 纯数据 PS:不同的数据源, ...

随机推荐

  1. centos8用firewalld搭建防火墙

    一,firewalld的systemd管理命令 启动:systemctl start firewalld 关闭:systemctl stop firewalld 查看状态:systemctl stat ...

  2. go 多协程爬取图片

    package main import ( "fmt" "github.com/antchfx/htmlquery" "golang.org/x/ne ...

  3. jdk、eclipse和idea安装

    一.jdk下载与环境配置与IDEA 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213315 ...

  4. JavaScript的9大排序算法详解

    一.插入排序 1.算法简介 插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入. ...

  5. docker gitlab搭建

    1,官方查找gitlab docker镜像 2,pull镜像 3,run docker run -d -p 443:443 -p 10080:80 -p 22:22 --name gitlab --r ...

  6. oracle数据库表空间扩展

    //查看表空间情况 SELECT Upper(F.TABLESPACE_NAME) "表空间名",D.TOT_GROOTTE_MB "表空间大小(M)",D.T ...

  7. Redis学习笔记(九)——集群

     一.概述 Redis Cluster与Redis3.0.0同时发布,以此结束了Redis无官方集群方案的时代. Redis Cluster是去中心化,去中间件,也就是说,集群中的每个节点都是平等的关 ...

  8. Spring入门-----------------属性注入和对象注入

    属性注入即通过setter方法注入bean的属性或依赖对象. 属性注入使用<property>元素,使用name属性指定bean的属性的名称,value属性或<value>子节 ...

  9. 在国内使用Google验证码reCaptcha

    如今各大网站都不可缺少的一部分就是验证码,验证码具有防止恶意批量操作,保护账户安全等作用.但是现在各种暴力破解验证码的手段层出不穷,验证码的保护也就失去了意义.所以各大平台为了应对这种情况也是使用类似 ...

  10. Redis发布订阅使用方法

    Redis发布订阅 发布订阅模式中发布消息的为publisher即发布者,接收消息的为subscriber即订阅者.在Redis中,所有的消息通过channel即频道进行发布,一个发布者可以向多个ch ...