Struts生成Word下载

王朝other·作者佚名  2008-05-31
宽屏版  字体: |||超大  

比较巧的是,刚做完一个下载Excel文件的功能,又有一个新的问题,就是需要将一份文件导出到Word中,刚开始我找到的方法,无非是将网页中内容用wrod打开,但是网页的版式也复制了进去,显的很不正规。相信大家都碰到了这个问题。还有一种方法是用控件操作com来达到控制word版式的方法,但是太复杂,这个项目不答应。后来找到了一种折中的办法,即可以控制版式,又不会太复杂。

假如您有更好的办法,可以联系我。

MSN:whw_dream(AT)hotmail.com

首先,新建一个word文档:test.doc

建立以下内容:

而且最好在你要生成的内容中加个标记,以便操作(我就用xxxx和12345标注)。

然后另存为web:

然后用文本编辑器打开test.htm文件(我的是editplus)

建立工程什么的就不说,直接创建test.jsp

<%taglib uri="/WEB-INF/struts-Html.tld" prefix="html"%>

<html:html>

<html:button property="button" onclick="dowloadword()">

downloadword

</html:button>

</html:html>

<script language=“javascript“>

function dowloadword(){ location.href="/downloadword.do"; }

</script>

建立DownloadWordAction.Java

package test.whw.upload;

import org.apache.struts.action.*;

import javax.servlet.http.*;

import java.util.*;

/**

* <p>Title:DownloadWordAction </p>

* <p>Description: QRRSMMS </p>

* <p>Copyright: Copyright (c) 2004 jiahansoft</p>

* <p>Company: jiahansoft</p>

* @author wanghw

* @version 1.0

*/

public class DownloadWordAction extends Action {

public ActionForward execute(ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception {

DynaActionForm testForm = (DynaActionForm)form;

testForm.set("name","测试的word文件");

ArrayList list = new ArrayList();

HashMap row = new HashMap();

row.put("a","aaaaa");

row.put("b","aaaaa");

row.put("c","aaaaa");

row.put("d","aaaaa");

row.put("e","aaaaa");

list.add(row);

row.put("a","bbbbb");

row.put("b","bbbbb");

row.put("c","bbbbb");

row.put("d","bbbbb");

row.put("e","bbbbb");

list.add(row);

request.setAttribute("list",list);

return mapping.findForward("display");

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有