HTML以Word流形式输出并保存至本地

将界面上的HTML以word形式输出,然后在word中进行编辑等等。

在网上找到了一个解决方案,试了下,可行,具体如下:

前端ASPX页面代码:

    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server">  </asp:Label>
    </div>
    </form> 

后台代码:

            // 构造HTML输出
            StringBuilder sb = new StringBuilder();
            sb.Append("<table cellpadding='0' cellspacing='0'>");
            sb.Append("<tr>");
            sb.Append("<td>");
            sb.Append("<img src='http://localhost:2435/rbqy2lld.gif'>");
            sb.Append("</td>");
            sb.Append("</tr>");
            sb.Append("</table>");
            this.Label1.Text = sb.ToString();

            // HTML输出到WORD
            Response.Clear();
            Response.Buffer = true;
            Response.Charset = "gb2312";
            Response.AddHeader("Content-Disposition""attachment;filename=expert.doc");
            Response.ContentType = "application/ms-word";
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
            Label1.RenderControl(oHtmlTextWriter);
            Response.Output.Write(oStringWriter.ToString());
            Response.Flush();
            Response.End();

这样就可以将相应的HTML输出WORD中了。

注意:如果输出中有图片,图片URL需要采用绝对路径如:http://localhost:2435/rbqy2lld.gif,而不能使用相对路径。

抛砖引玉,如果大家有更好的解决方案,不吝赐教。

 

posted @ 2012-02-06 15:27  一路向end  阅读(1217)  评论(0编辑  收藏  举报