首先导入POI的相关jar包。有关word操作的都导入(额,若是不清楚,就所有的导入也行。)
public static boolean writeWordFile() {
boolean w = false;
String path = "E:/";
try {
if (!"".equals(path)) {
// 检查目录是否存在
File fileDir = new File(path);
if (fileDir.exists()) {
// 生成临时文件名称
String fileName = "a.doc";
String content = gethtmlcode("http://homepage.yesky.com/59/2673059.shtml");
byte b[] = content.getBytes();
ByteArrayInputStream bais = new ByteArrayInputStream(b);
POIFSFileSystem poifs = new POIFSFileSystem();
DirectoryEntry directory = poifs.getRoot();
DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
FileOutputStream ostream = new FileOutputStream(path+ fileName);
poifs.writeFilesystem(ostream);
bais.close();
ostream.close();
}
}
} catch (IOException e) {
e.printStackTrace();
}
return w;
}
通过url:http://homepage.yesky.com/59/2673059.shtml获取这个页面的html代码内容。后面的是进行写如word文件操作
gethtmlcode 方法的代码如下:
public static String gethtmlcode(String url){
String str = "";
try {
URL u = new URL(url);
URLConnection uc = u.openConnection();
InputStream raw = uc.getInputStream();
InputStream buffer = new BufferedInputStream(raw);
//
Reader r = new InputStreamReader(buffer);
int c;
while ((c = r.read()) != -1) {
str += (char)c;
//System.out.print((char)c);
} // end while
}// end try
// catch (MalformedURLConnection e){
// System.err.println("cannot connect");
// }
catch (IOException e) {
System.err.println(e);
}// end catch
//System.out.print(str);
return str;
}
这样就完成了需要的html页面向word的转化。效果图
虽然和原界面有些不一样(主要是图片等的问题。若是一个简单的页面的话足够用了)。但是可以根据这个思路修改下去