zoukankan      html  css  js  c++  java
  • fremarker导出word list

    
    
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStreamWriter;
    import java.io.Writer;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.Properties;
    
    import javax.swing.filechooser.FileSystemView;
    
    import freemarker.template.Configuration;
    import freemarker.template.Template;
    仅带方法:
    public
    void export() { Map<String, List<Student>> dataMap = new HashMap<String, List<Student>>(); List<Student> list = new ArrayList<Student>(); for(int a = 0; a < 5; a++){ Student s = new Student(a, "stuNo" + a, "name"+a, "age"+a, "class"+a); list.add(s); } dataMap.put("students", list); // 设置配置文件Configuration 此类的创建为单例模式 Configuration configuration = new Configuration(Configuration.VERSION_2_3_22); configuration.setDefaultEncoding("UTF-8"); configuration.setClassForTemplateLoading(this.getClass(), "/com/haiyisoft/iecp/dw/dd/action"); // 获取系统属性名称、系统分割符 Properties properties = System.getProperties(); String osName = properties.getProperty("os.name"); String separator = properties.getProperty("file.separator"); System.out.println(osName + "文件目录分隔符:" + separator); // 获取文件导出路径(默认发布项目下download目录中) //HttpServletRequest request = ServletActionContext.getRequest(); //String urlStr = request.getSession().getServletContext().getRealPath("/") + "download\"; //urlStr = urlStr.replace("\", "/"); // 桌面路径 String urlStr = FileSystemView.getFileSystemView() .getHomeDirectory().getAbsolutePath(); String fileName = "test.doc"; //设置输出文件 输出流 写入类 模板 File outFile = new File(urlStr + "/" + fileName); FileOutputStream outputStream = null; Writer writer = null; Template template = null; try { template = configuration.getTemplate("temp.ftl"); outputStream = new FileOutputStream(outFile); writer = new OutputStreamWriter(outputStream, "UTF-8"); template.process(dataMap, writer); writer.close(); outputStream.close(); } catch (Exception e) { System.out.println("出错啦!!!!"); e.printStackTrace(); } }

    // 此为实体类student
    
    public class Student {
    	private int id;
    	private String stuNo;
    	private String name;
    	private String age;
    	private String classes;
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getStuNo() {
    		return stuNo;
    	}
    	public void setStuNo(String stuNo) {
    		this.stuNo = stuNo;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getAge() {
    		return age;
    	}
    	public void setAge(String age) {
    		this.age = age;
    	}
    	public String getClasses() {
    		return classes;
    	}
    	public void setClasses(String classes) {
    		this.classes = classes;
    	}
    	public Student(int id, String stuNo, String name, String age, String classes) {
    		super();
    		this.id = id;
    		this.stuNo = stuNo;
    		this.name = name;
    		this.age = age;
    		this.classes = classes;
    	}
    	
    
    }


    这里只写方法。。
    插入list类似于下列类型,将学生信息依次导入,其中
    ${student.stNo!””}为表格中变量,student中变量需与上述实体类中变量对应



    模板文件中没有自带list,需手动添加
  • 相关阅读:
    Linux-文件编程
    Linux-编程基础
    Linux-系统管理
    Linux-命令
    图解HTTP-笔记
    微信小程序发送红包功能。填坑记录
    PHP中使用raw格式发送POST请求
    论一个PHP项目上线的注意点
    PHP CURL 模拟form表单上传遇到的小坑
    使用php的curl函数post返回值为301永久迁移的问题。(301 Moved Permanently)
  • 原文地址:https://www.cnblogs.com/TheKiteRunner/p/9468093.html
Copyright © 2011-2022 走看看