JXLS根据模板导出Excel实例教程

 更新时间:2018年12月15日 11:58:05   作者:南山猛士  
这篇文章主要为大家详细介绍了JXLS根据模板导出Excel实例教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JXLS根据模板导出Excel实例的具体方法,供大家参考,具体内容如下

先做模板,做成想要的格式样子保存,然后通过程序根据模板生成对应样式的Excel文件,代码简单。什么连接数据库查询然后将结果生成Excel文件就不讲了,放入List里面,然后套一下就行了,照老虎花猫。

准备:

1、相关jar包:

2、模板文件 :

开始:

1、 先实体类:Staff.java

package myjxls;
/**
 * 2014-3-17
 * 8dou
 * 实体
 */
public class Staff {
 
  /**
  * 名称
  */
  private String name;
 
  /**
  * 薪资
  */
  private Double payment;
 
  /**
  * 年终奖
  */
  private Double bonus;
 
  public String getName() {
   return name;
  }
 
  public void setName(String name) {
   this.name = name;
  }
 
  public Double getPayment() {
   return payment;
  }
 
  public void setPayment(Double payment) {
   this.payment = payment;
  }
 
  public Double getBonus() {
   return bonus;
  }
 
  public void setBonus(Double bonus) {
   this.bonus = bonus;
  }
  public Staff(String name, Double payment, Double bonus) {
  super();
  this.name = name;
  this.payment = payment;
  this.bonus = bonus;
  }
}

2、测试类 ChartTest.java 

package myjxls;
/**
 * 2014-3-17
 * 8dou
 * 测试JXLS根据模板样式导出Excel
 */
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import net.sf.jxls.transformer.XLSTransformer;
public class ChartTest {
 
 /**
  * @param args
  */
 public static void main(String[] args) throws Exception {
  List<Staff> staffs = new ArrayList<Staff>();
   
  Staff s1 = new Staff("张三", 6000D, 3000D);
  staffs.add(s1);
   
  Staff s2 = new Staff("李四", 5000D, 2000D);
  staffs.add(s2);
   
  Staff s3 = new Staff("王五", 4000D, 1000D);
  staffs.add(s3);
   
  String srcFilePath = "e:/simple.xlsx";
  String destFilePath = "e:/template-simple.xlsx";
  Map<String, List<Staff>> beanParams = new HashMap<String, List<Staff>>();
  beanParams.put("staffs", staffs);
   
  XLSTransformer former = new XLSTransformer();
  former.transformXLS(srcFilePath, beanParams, destFilePath);
  
  System.out.println("the end !!!");
 }
 
}

运行结束后看生成的Excel文件,template-simple.xlsx

如果是Web,需要下载可以看

 // 下载
 public static void doDownLoad(String path, String name,
   HttpServletResponse response) {
  try {
   response.reset();
   response.setHeader("Content-disposition",
     "attachment;success=true;filename ="
       + URLEncoder.encode(name, "utf-8"));
   BufferedInputStream bis = null;
   BufferedOutputStream bos = null;
   OutputStream fos = null;
   InputStream fis = null;
   File uploadFile = new File(path);
   fis = new FileInputStream(uploadFile);
   bis = new BufferedInputStream(fis);
   fos = response.getOutputStream();
   bos = new BufferedOutputStream(fos);
   // 弹出下载对话框
   int bytesRead = 0;
   byte[] buffer = new byte[8192];
   while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) {
    bos.write(buffer, 0, bytesRead);
   }
   bos.flush();
   fis.close();
   bis.close();
   fos.close();
   bos.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

最后补充下Excel知识:在单元格里面将日期和时间显示在同一个单元格里面,自定义单元格式→yyyy-m-d hh:mm:ss

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 详解Spring @Profile注解的使用和源码解析

    详解Spring @Profile注解的使用和源码解析

    这篇文章主要将通过源码带大家深入了解一下Spring中@Profile注解的原理与使用,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-04-04
  • spring retry 配置及使用教程

    spring retry 配置及使用教程

    这篇文章主要介绍了spring retry 配置及使用教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2024-01-01
  • SpringBoot整合RabbitMQ及生产全场景高级特性实战

    SpringBoot整合RabbitMQ及生产全场景高级特性实战

    本文主要介绍了SpringBoot整合RabbitMQ及生产全场景高级特性实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • Java中内存分配的几种方法

    Java中内存分配的几种方法

    本文主要介绍Java中几种分配内存的方法。我们会看到如何使用sun.misc.Unsafe来统一操作任意类型的内存。以前用C语言开发的同学通常都希望能在Java中通过较底层的接口来操作内存,他们一定会对本文中要讲的内容感兴趣
    2014-03-03
  • 使用Spring boot标记一个方法过时

    使用Spring boot标记一个方法过时

    这篇文章主要介绍了使用Spring boot标记一个方法过时,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Java 动态生成类和实例, 并注入方法操作示例

    Java 动态生成类和实例, 并注入方法操作示例

    这篇文章主要介绍了Java 动态生成类和实例, 并注入方法操作,结合实例形式分析了Java 动态生成类和实例以及动态注入相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • Java设计者模式简单工厂模式解析

    Java设计者模式简单工厂模式解析

    这篇文章主要介绍了Java设计者模式简单工厂模式解析,介绍了其简介,实例以及优缺点分析,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • MyEclipse整合ssh三大框架环境搭载用户注册源码下载

    MyEclipse整合ssh三大框架环境搭载用户注册源码下载

    这篇文章主要为大家详细介绍了如何使用MyEclipse整合ssh三大框架进行环境搭载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • 在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

    在 Spring Boot 中使用异步线程时的 HttpServletReque

    文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致的Cookie解析失败问题,为了解决这个问题,文章推荐了使用HttpServletRequestWrapper创建请求副本、手动传递请求上下文和延迟请求清理等方法,感兴趣的朋友一起看看吧
    2025-03-03
  • java中反射(Reflection)机制举例详解

    java中反射(Reflection)机制举例详解

    Java中的反射机制是指Java程序在运行期间可以获取到一个对象的全部信息,这篇文章主要介绍了java中反射(Reflection)机制的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03

最新评论