温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JXLS如何根据模板导出Excel

发布时间:2021-08-13 09:38:09 来源:亿速云 阅读:252 作者:小新 栏目:编程语言

这篇文章给大家分享的是有关JXLS如何根据模板导出Excel的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

准备:

1、相关jar包:

JXLS如何根据模板导出Excel

2、模板文件 :

JXLS如何根据模板导出Excel

开始:

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

JXLS如何根据模板导出Excel

如果是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

JXLS如何根据模板导出Excel

感谢各位的阅读!关于“JXLS如何根据模板导出Excel”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI