java Éú³ÉwordÎļþ²¢ÏÂÔØ

importjava.io.BufferedInputStream; importjava.io.BufferedOutputStream; importjava.io.BufferedWriter; importjava.io.File;

importjava.io.FileInputStream; importjava.io.FileOutputStream; importjava.io.IOException; importjava.io.InputStream; importjava.io.OutputStream;

importjava.io.OutputStreamWriter; importjava.io.Writer;

importjava.net.URLEncoder; importjava.util.Map;

importjavax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger;

importfreemarker.template.Configuration; importfreemarker.template.Template; /**

* @Desc£ºword²Ù×÷¹¤¾ßÀà */

public class WordUtil { private static Logger log = Logger.getLogger(WordUtil.class); /**

* @Desc£ºÉú³ÉwordÎļþ * @paramdataMap wordÖÐÐèҪչʾµÄ¶¯Ì¬Êý¾Ý£¬ÓÃmap¼¯ºÏÀ´±£´æ * @paramtemplateName wordÄ£°åÃû³Æ£¬ÀýÈ磺test.ftl * @paramfilePathÎļþÉú³ÉµÄÄ¿±ê·¾¶£¬ÀýÈ磺D:/wordFile/ * @paramfileNameÉú³ÉµÄÎļþÃû³Æ£¬ÀýÈ磺test.doc */ public static void createWord(MapdataMap,StringtemplateName,StringfilePath,StringfileName){ try {

//´´½¨ÅäÖÃʵÀý

Configuration configuration = new Configuration();

//ÉèÖñàÂë

configuration.setDefaultEncoding(\

//ftlÄ£°åÎļþ

File file = new File(filePath); configuration.setDirectoryForTemplateLoading(file);

//»ñÈ¡Ä£°å

Template template = configuration.getTemplate(templateName);

//Êä³öÎļþ

File outFile = new File(filePath + File.separator + fileName);

//Èç¹ûÊä³öÄ¿±êÎļþ¼Ð²»´æÔÚ£¬Ôò´´½¨ if (!outFile.getParentFile().exists()){ outFile.getParentFile().mkdirs(); }

//½«Ä£°åºÍÊý¾ÝÄ£Ðͺϲ¢Éú³ÉÎļþ Writer out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outFile),\

//Éú³ÉÎļþ

template.process(dataMap, out);

//¹Ø±ÕÁ÷ out.flush(); out.close();

} catch (Exception e) {

log.error(\Éú³É wordÎĵµ(WordUtil)³ö´í£º¡¾msg£º\¡¿ ,ÎļþÃû£º\+ fileName);

e.printStackTrace(); } } /** * ÎļþÏÂÔØ * @param path Îļþ·¾¶È«Â·¾¶£¬°üº¬ÎļþÃû * @param response * @return */ public static HttpServletResponsedownFile(String path, HttpServletResponse response) { try { // pathÊÇÖ¸ÓûÏÂÔصÄÎļþµÄ·¾¶¡£ File file = new File(path); // È¡µÃÎļþÃû¡£ String filename = file.getName(); // ÒÔÁ÷µÄÐÎʽÏÂÔØÎļþ¡£ InputStreamfis = new BufferedInputStream(new FileInputStream(file)); byte[] buffer = new byte[fis.available()];

}

fis.read(buffer); fis.close();

// Çå¿Õresponse response.reset();

// ÉèÖÃresponseµÄHeader

String fileName = URLEncoder.encode(filename,\if(fileName.length()>150){ //½â¾öIE 6.0 bug fileName=new String(filename.getBytes(\ }

response.addHeader(\response.addHeader(\

OutputStreamtoClient = new BufferedOutputStream(response.getOutputStream()); response.setContentType(\toClient.write(buffer); toClient.flush(); toClient.close();

file.delete();

} catch (IOException e) { log.error(\ÏÂÔØÎĵµ(WordUtil)³ö´í£º¡¾msg£º\¡¿ \e.printStackTrace(); }

return response; }

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ì滻Ϊ@) ËÕICP±¸20003344ºÅ-4