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

发布时间:2025-12-09 14:04:20 浏览次数:4

由于现在好多公司都在实行办公无纸化操作,所以一般都是使用excel以及word来办公,本文是公司项目中使用excel文件模板生成对应的文件:

首先,需要导入一下几个包:

接下来就是具体的代码:

import java.io.File;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.swing.JOptionPane;import net.sf.jxls.exception.ParsePropertyException;import net.sf.jxls.transformer.XLSTransformer;/** * 利用模板导出excel文件 * @typename:XLSTransformerExport * @author: FishRoad * @since: 2015年8月24日 下午1:35:29 * */public class XLSTransformerExport {public static void main(String []args){//组织数据 List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();      Map<String, Object> m1 = new HashMap<String,Object>();      m1.put("PRONAME", "项目1");      m1.put("PLANTYPE", "计划1");      m1.put("PROTYPE", "类别1");      Map<String, Object> m2 = new HashMap<String,Object>();      m2.put("PRONAME", "项目2");      m2.put("PLANTYPE", "计划2");      m2.put("PROTYPE", "类别2");            list.add(m1);      list.add(m2);      Map<String, Object> para = new HashMap<String, Object>();      para.put("result", list);      XLSTransformer transformer = new XLSTransformer();            //String temppath = "C:\\Users\\Administrator\\Documents\\测试模板.xlsx";      //模板路径,如果用的模板是xlsx,则生成的文件类型也必须为xlsx类型,否则由于格式不对,会打不开文件      String temppath = "C:\\Users\\Administrator\\Documents\\测试模板_xls.xls";      //输出文件路径,以及路径名称      String exportpath =UtilTools.getDirPath("测试结果_xls.xls", new File("C:\\Users\\Administrator\\Documents"));      System.out.println(exportpath);      try {      //利用transformXLS来输出文件transformer.transformXLS(temppath, para,exportpath);//生成文件后提示是否立即打开该文件        if(JOptionPane.showConfirmDialog(null, "导出成功,是否打开文件?")==0){        UtilTools.openDirFile(exportpath);        }        } catch (ParsePropertyException e) {System.out.println("失败!");} catch (IOException e) {System.out.println("失败!");}      } }

用到的工具类:

 /**     * 保存文件的时候指定文件名和文件的保存路径     * @param filename     * @param path     * @return     */    public static String getDirPath(String filename, File path) {        JFileChooser parseDir = new JFileChooser();        parseDir.setCurrentDirectory(path);        parseDir.setAcceptAllFileFilterUsed(false);        parseDir.setSelectedFile(new File(filename));        int result = parseDir.showSaveDialog(null);        if (result == JFileChooser.APPROVE_OPTION) {            return parseDir.getSelectedFile().getAbsolutePath();        } else {            return "";        }    }
/** * 打开文件所在的目录 *  * @param destFileName * @throws IOException */public static void openDirFile(String destFileName) throws IOException {File file = new File(destFileName);java.awt.Desktop.getDesktop().open(file);//}

模板样式如下:

到此,整个项目就基本完成,然后运行结果如下:

需要做网站?需要网络推广?欢迎咨询客户经理 13272073477