Java如何将html转换成word
1、有一个比较复杂的页面,
能不能直接转成word?
因为页面涉及到一些样式、图片啥的
2、如果不能直接转的话,
能不能提取html中table里面的数据 然后转成word里面的表格?
我分段来生成这个word文档。
------解决思路----------------------
本人最近一个项目也是这个需求,谈下我们目前的解决方法:首先html要有该有的格式,要注意编码什么的。
html = html.replaceAll("", "
");String fileName = yaxx.getYamc()+".doc";
final String userAgent = request.getHeader("USER-AGENT");
try {
InputStream input = new ByteArrayInputStream(html.getBytes());
BufferedInputStream br = new BufferedInputStream(input);
byte[] buf = new byte[1024];
int len = 0;
response.reset(); // 非常重要
// 纯下载方式
response.setContentType("application/x-msdownload");
if (-1 != userAgent.indexOf("Firefox")) {//Firefox
fileName = "=?UTF-8?B?" + (new String(org.apache.commons.codec.binary.Base64.encodeBase64(fileName.getBytes("UTF-8"))))+ "?=";
}else if (-1 != userAgent.indexOf("Chrome")) {//Chrome
fileName = new String(fileName.getBytes(), "ISO8859-1");
} else {//IE7+
fileName = java.net.URLEncoder.encode(fileName, "UTF-8");
fileName = StringUtils.replace(fileName, "+", "%20");//替换空格
}
response.setHeader("Content-Disposition", "attachment; filename="+fileName);
OutputStream out = response.getOutputStream();
while ((len = br.read(buf)) > 0)
out.write(buf, 0, len);
br.close();
out.close();
后面直接下载即可,至于图片的话,虽然能正常显示,但是并不是图片,而是路径。
------解决思路----------------------
页面上的图片一般都是img标签链的,可以解析其连接,通过URL下载图片到本地,再通过word的api,将图片写入word
------解决思路----------------------
楼主请参考http://llhdf.iteye.com/blog/376084