学习内容:
需求让把富文本导出word,这段代码只是实现了纯文本导出
学习产出:
//导出到word
public void exportWord(HttpServletRequest request, HttpServletResponse response,String id) throws Exception {
try {
/***
查询数据库获得数据 **/
BgsnoticeModel model=service.getInfoById(id);
String val=model.getInfovalue();
String n= val.replace("<","<");
String c=n.replace(">",">");
String content ="<html>"+c+"</html>";
byte b[] = content.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(b);
POIFSFileSystem poifs = new POIFSFileSystem();
DirectoryEntry directory = poifs.getRoot();
DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
//输出文件
String name=model.getTitle();
response.reset();
response.setHeader("Content-Disposition",
"attachment;filename=" +
new String( (name + ".doc").getBytes(),
"iso-8859-1"));
response.setContentType("application/msword");
OutputStream ostream = response.getOutputStream();
// //输出到本地文件的话,new一个文件流
// FileOutputStream bendi = new FileOutputStream("C:\\Users\\86133\\Desktop\\namename.doc");
bendi.write(bais);
bendi.close();
poifs.writeFilesystem(ostream);
bais.close();
ostream.close();
} catch (IOException e) {
log.error(e,e);
}
}