600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > html嵌入word文档 网页中嵌入word文档和导出数据到word文档

html嵌入word文档 网页中嵌入word文档和导出数据到word文档

时间:2024-05-05 22:38:43

相关推荐

html嵌入word文档 网页中嵌入word文档和导出数据到word文档

关于word文档操作, 网上不少这样的例子,好像都是一篇文章。word文档嵌入到网页中好像比较简单一些。加个报文头基本上就可以实现此功能。而导出数据到word文档中,我可费了不少的脑细胞。闲话少说,步入正题。。。:)

网页中嵌入word文档,在jsp程序开头部分加入这些代码,即可实现。比较简单,相信很多人都知道这一点了。

费脑筋的是将一张报表或者一张登记表导入到word文档中。报表(登记表)都是动态生成的。那么首先的问题是如何获得一个动态网页中的内容。我以前使用的BufferedReader,PrintWriter,BufferedInputStream,BufferedOutputSteam都不起作用了,原因就是他们不能读取动态生成的网页内容。因此,我想到了URL这个类,获得内容的代码如下:

.URL l_url = new .URL("http://localhost:9000/rlzy/employee/employee_resume.jsp?id="+emp_id);

.HttpURLConnection l_connection = (.HttpURLConnection) l_url.openConnection();

l_connection.connect();

l_urlStream = l_connection.getInputStream();

java.io.BufferedReader l_reader = new java.io.BufferedReader(new java.io.InputStreamReader(l_urlStream));

while ((sCurrentLine = l_reader.readLine()) != null)

{

content+=sCurrentLine;

}

content即为我们想要得到的动态内容。

导出数据的话,使用BufferedInputStream和BufferedOutputStream 。但前提是把得到的动态内容先输出到一个临时的html网页中,即把它先变成一个静态文件。这样BufferedInputStream 和BufferedOutputStream 就可以获得要读取和输出的内容。读取完毕,再把这个临时的html网页删除。这是网上流传的代码:

BufferedInputStream bis = null;

BufferedOutputStream bos = null;

try {

bis = new BufferedInputStream(new FileInputStream(内容资源的路径));

bos = new BufferedOutputStream(response.getOutputStream());

byte[] buff = new byte[2048];

int bytesRead;

while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {

bos.write(buff,0,bytesRead);

}

} catch(final IOException e) {

System.out.println ( "出现IOException." + e );

} finally {

if (bis != null)

bis.close();

if (bos != null)

bos.close();

}

此外,导出内容到word文档后,还可能会出现格式不正确的问题。我就遇到了html表格导出到word就发生变化的情况。这种情况具体原因应该是两种不同文件编码的问题。我是通过修改源html文件解决的问题。至于以后如果还碰到类似问题的话,首先看一下word文档和html文档是从哪个地方格式开始变化了,找到之后再对症下药。如果你觉得这种解决方法没什么技术含量的话,你可以根据内容手动输出。。。哈

。。。。。。。。。。。学到了一些东西。。。。。。。。。。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。