JAVA实现模板word文档导入_java web项目中,根据wrod模板导入数据,并实现下载 | 学步园...

1,编辑word模板,得到想要的样式

2,word另存为,筛选过的网页(*.htm;*.html) 例如:word_model_02.htm

3,改word_model_02.htm后缀为.jsp

4,在jsp文件的最上部加上: (不加入下载不了)

5,页面中加入按钮,并用servlet实现页面跳转,

/servlet/DocumentHandleServlet?templateCode=/page/common/template/word/word_model_02.jsp

注:如果jsf项目可以利用js实现

form中加入

scrolling="no">

js如下

function downLoadWord(){

window.document.all("togo").src="/servlet/DocumentHandleServlet?templateCode=/page/common/template/word/word_model.jsp";

return false;

}

6,定义servlet,在web.xml中配置servlet

DocumentHandleServlet

com.nohi.document.servlet.DocumentHandleServlet

DocumentHandleServlet

/servlet/DocumentHandleServlet

public class DocumentHandleServlet extends HttpServlet{

private static final long serialVersionUID = 1L;

private Logger log = Logger.getLogger(this.getClass());

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doPost(req, resp);

}

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

log.debug("DocumentHandleServlet ..................");

String templateCode = req.getParameter("templateCode");

log.debug("templateCode: " + templateCode);

//templateCode = "/page/common/template/word/word_model.jsp";

//到数据库中取数。。。vo.getUserList()返回的是一个 User对象列表

UserManagerVO vo = new UserManagerVO();

UserManagerDao dao = (UserManagerDao) FrameServiceFactory.findBean("userManagerDao");

dao.findUserListByHQL(vo);

log.debug("size: " + vo.getUserList().size());

req.setAttribute("fileName", "fileName_nohi");

req.setAttribute("userList",vo.getUserList());

req.setAttribute("text", "abc");

req.setAttribute("date", "2011-04-05");

req.getRequestDispatcher(templateCode).forward(req, resp);

}

}

7,word_model_02.jsp中编辑取数

在正文加入

//文档名称:文档类型_广义业务编号_版本号_模板名称

String fileName = (String) request.getAttribute("fileName");

String text = (String) request.getAttribute("text");

String date = (String) request.getAttribute("date");

List list = (List) request.getAttribute("userList");

fileName = new String(fileName.getBytes("GBK"), "ISO8859_1");

response.setHeader("Content-Disposition", "attachment; filename="+ fileName + ".doc");

%>

文本:

日期:

for (Iterator it = list.iterator();it.hasNext();) {

User user = (User)it.next();

%>

style='width: 142.0pt; border: solid black 1.0pt; border-top: none; padding: 0cm 5.4pt 0cm 5.4pt'>

style='width: 142.05pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt'>

style='width: 142.05pt; border-top: none; border-left: none; border-bottom: solid black 1.0pt; border-right: solid black 1.0pt; padding: 0cm 5.4pt 0cm 5.4pt'>

}

%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值