java使用 freemarker 模板生成一个excel文件多个sheet
来源:互联网 发布:c语言usleep函数 编辑:程序博客网 时间:2024/06/05 17:41
/** * 导出Excel * @param request * @param * @return */ @RequestMapping(value = "/jsp/map/导出.do", method = RequestMethod.POST) @ResponseBody public String sxdcjgghbToExcel(HttpServletRequest request, HttpServletResponse response, @RequestParam("zzdwdm") String zzdwdm, @RequestParam("outType") String outType) { try { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); //开始传入数据// Map<String,Object> map = new HashMap<String,Object>(); //生成excel的简单的类 XLSTransformer transformer = new XLSTransformer(); String modelExl = ""; //获取模板路径 modelExl = request.getSession().getServletContext().getRealPath("模板文件夹")+"\\"+xjzzdwqc; //模板的本地地址 String templateFileName = ""; templateFileName = modelExl+"\\文件.xls"; //读取进来 FileInputStream is = new FileInputStream(templateFileName); String excels = request.getSession().getServletContext().getRealPath("excels"); String destFileName = excels+"\\"+nh.get(0).getZzdwqc()+"文件夹\\"; File file = new File(excels+"\\"+nh.get(0).getZzdwqc()+"文件夹"); //判断文件是否存在存在删除用到公共方法 if (file.exists()) { deleteAll(file); file.mkdirs(); }else{ file.mkdirs(); } //sheet表的名字 List<String> listSheetNames = new ArrayList<String>(); //加载数据 ArrayList<TdcbJyqQqTzdjXx_NH> t1 = new ArrayList<TdcbJyqQqTzdjXx_NH>(); for(int x = 0;x<nh.size();x++){ t1.add(nh.get(x)); //System.out.println(nh.get(x).getCbfXM()+nh.get(x).getCbfBH()); listSheetNames.add(nh.get(x).getCbfXM()+nh.get(x).getCbfBH()); } //记得貌似没用(待议)// map.put("nh", t1); //固定格式 is-模板 t1-数据 listSheetNames-sheet表名字 nh-在文件取得别名nh.获取 HashMap以map存储 Workbook workbook = transformer.transformMultipleSheetsList(is, t1, listSheetNames, "nh", new HashMap(), 0); HSSFSheet fromsheet = (HSSFSheet) workbook.getSheetAt(0); //是否合并单元格 /* for(int s=0;s<workbook.getNumberOfSheets();s++){ workbook.getSheetAt(s).setMargin(HSSFSheet.TopMargin,fromsheet.getMargin(HSSFSheet.TopMargin)); workbook.getSheetAt(s).setMargin(HSSFSheet.BottomMargin,fromsheet.getMargin(HSSFSheet.BottomMargin)); workbook.getSheetAt(s).setMargin(HSSFSheet.LeftMargin,fromsheet.getMargin(HSSFSheet.LeftMargin)); workbook.getSheetAt(s).setMargin(HSSFSheet.RightMargin,fromsheet.getMargin(HSSFSheet.RightMargin)); for(int w=0;w<8;w++){ workbook.getSheetAt(s).setColumnWidth(w,workbook.getSheetAt(0).getColumnWidth(w)); } }*/ //输出文件 OutputStream os = new BufferedOutputStream(new FileOutputStream(excels+"\\"+"文件夹\\"+"文件.xls")); workbook.write(os); os.flush(); os.close(); is.close(); //清除数据// map.remove("nh");// map.clear();// for(int i = 0;i<nh.size();i++){// map.put("nh", nh.get(i));// transformer.transformXLS(templateFileName, map, destFileName+nh.get(i).getCbfBH()+nh.get(i).getCbfXM()+".xls");// map.remove("nh");// } } catch (Exception e) { e.printStackTrace(); return "IoError"; } }
0 0
- java使用 freemarker 模板生成一个excel文件多个sheet
- java使用 freemarker 模板生成word文件
- java poi 通过excel模板导出并且生成多个sheet
- java poi 通过excel模板导出并且生成多个sheet
- java poi 通过excel模板导出并且生成多个sheet
- java poi 通过excel模板导出并且生成多个sheet
- 多个Excel文件中的多个Sheet合并到一个Excel文件中两个函数
- Java将多个数据表导出多个Sheet到Excel文件
- 利用poi 生成多个excel sheet
- excel生成多个sheet .net
- PHP生成EXCEL,支持多个SHEET
- Delphi生成多Sheet的Excel文件
- Delphi生成多Sheet的Excel文件
- 使用freemarker模板生成文件主要配置
- freemarker 模板生成 文件
- java 使用freemarker 生成word模板
- 使用Freemarker模板生成JAVA代码
- java poi excel 模板讀取生成多個sheet且導出
- hdu--1576A/B
- CSS中背景图片百分数定位
- 状态压缩的动态规划
- Java基础之(十三)递归方法和方法重载
- mahout 常见机器学习算法及分类
- java使用 freemarker 模板生成一个excel文件多个sheet
- JAVA HashMap详细介绍和示例
- linux redis安装以及开机自启
- 随机网络-无标度网络(带连接偏好的增长网络模型)-(3)
- abstract(抽象)修饰符,可以修饰类和方法
- 尝试EFM32下的fatfs的使用
- HDOJ 5783 (2016多校联合训练 Training Contest 5) Divide the Sequence
- Java制作证书的工具keytool用法总结
- leetcode_c++:Generate Parentheses(022)