当前位置: 首页 > article >正文

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

由于现在好多公司都在实行办公无纸化操作,所以一般都是使用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);//}


模板样式如下:

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





http://www.lryc.cn/news/2416774.html

相关文章:

  • 手动脱UPX 壳实战
  • 剖析 ADO.NET 批处理更新(深入研究数据访问)
  • 集成solr复盘
  • 分享88个ASP整站程序源码,总有一款适合您
  • form表单—2种提交方式
  • Win7系统提示找不到MSVCRTD.DLL文件的解决办法
  • MaskedTextBox
  • 缓存背后的智慧:旁路、读写穿透和写回三种策略全面解析
  • CSS——滤镜(filter )
  • 关于Loadlibrary 失败-找不到指定模块126错误
  • DAS~~
  • ThinkPHP6+Layui自定义分页样式
  • 博客搜索引擎列举|博客搜索引擎的浅比较
  • 多线程开发实战:Java实现多线程四种方式及相关方法原理
  • 端口详解及如何开起端口关闭端口
  • C语言之多线程编程
  • plsql学习笔记
  • MFC窗口之间的消息传递
  • Robot之Setting table部分
  • 从Java角度看区块链实践系列3——P2P网络:区块链P2P网络拓扑结构的演变史
  • 高并发高流量网站架构
  • 史上最简单易懂的 简析utf-8编码
  • C语言实战-贪吃蛇
  • 沟通CTBS物流行业远程接入解决方案
  • STM32CubeMX 下载安装使用(一)
  • H3C交换机配置DHCP中继
  • 编译hyperscan
  • CydiaSubstrate的简单使用
  • 探索MS17-010漏洞利用工具:All-In-One全方位解析
  • mysql用decimal_MySQL数据类型DECIMAL用法详解