package com.shbc.bssp.action;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.shbc.bssp.dto.NetIncomeDto;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class ExportWordUtil extends ActionSupport{
private Configuration configuration = null;
public ExportWordUtil() {
configuration = new Configuration();
configuration.setDefaultEncoding("utf-8");
}
public void createDoc(Map objects) throws UnsupportedEncodingException {
Map dataMap=new HashMap();
getData(dataMap,objects);
configuration.setClassForTemplateLoading(this.getClass(), "/com/shbc/bssp/action");
Template t=null;
try {
t = configuration.getTemplate("trustee.ftl");
} catch (IOException e) {
e.printStackTrace();
}
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx
.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse");
response.setContentType("application/msword");
try {
response.addHeader("Content-Disposition", "attachment; filename="
+ URLEncoder.encode("年金报告.doc", "UTF-8"));
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
t.process(dataMap, out);
out.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
}
// try {
// FileOutputStream fos = new FileOutputStream(outFile);
// OutputStreamWriter oWriter = new OutputStreamWriter(fos,"UTF-8");
// out = new BufferedWriter(oWriter);
// } catch (FileNotFoundException e1) {
// e1.printStackTrace();
// }
//
// try {
// t.process(dataMap, out);
// } catch (TemplateException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
// return outFile;
}
private void getData(Map dataMap,Map objects) {
NetIncomeDto netIncomeDto= new NetIncomeDto();
List object1 = new ArrayList();
object1 = (List) objects.get("netincome");
dataMap.put("netincometable", object1);
}
}
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.io.Writer;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.shbc.bssp.dto.NetIncomeDto;
import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateException;
public class ExportWordUtil extends ActionSupport{
private Configuration configuration = null;
public ExportWordUtil() {
configuration = new Configuration();
configuration.setDefaultEncoding("utf-8");
}
public void createDoc(Map objects) throws UnsupportedEncodingException {
Map dataMap=new HashMap();
getData(dataMap,objects);
configuration.setClassForTemplateLoading(this.getClass(), "/com/shbc/bssp/action");
Template t=null;
try {
t = configuration.getTemplate("trustee.ftl");
} catch (IOException e) {
e.printStackTrace();
}
ActionContext ctx = ActionContext.getContext();
HttpServletResponse response = (HttpServletResponse) ctx
.get("com.opensymphony.xwork2.dispatcher.HttpServletResponse");
response.setContentType("application/msword");
try {
response.addHeader("Content-Disposition", "attachment; filename="
+ URLEncoder.encode("年金报告.doc", "UTF-8"));
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
t.process(dataMap, out);
out.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (TemplateException e) {
e.printStackTrace();
}
// try {
// FileOutputStream fos = new FileOutputStream(outFile);
// OutputStreamWriter oWriter = new OutputStreamWriter(fos,"UTF-8");
// out = new BufferedWriter(oWriter);
// } catch (FileNotFoundException e1) {
// e1.printStackTrace();
// }
//
// try {
// t.process(dataMap, out);
// } catch (TemplateException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
// return outFile;
}
private void getData(Map dataMap,Map objects) {
NetIncomeDto netIncomeDto= new NetIncomeDto();
List object1 = new ArrayList();
object1 = (List) objects.get("netincome");
dataMap.put("netincometable", object1);
}
}