.net导出Word的一种方法

由于ActiveX控件只支持IE(好像FF可以通过安装插件支持),所以js导出word的方式就比较局限

可是如果当页面经过js修改以后,.net是无法获取到的,所以要通过js获取到最新的html并传给后台生成文件流以供下载

 1 $("#expword").click(function () {
 2 
 3             var form = $("<form>");
 4             form.attr('style', 'display:none');
 5             form.attr('target', '');
 6             form.attr('method', 'post');
 7             form.attr('action', 'ExportWord.aspx');
 8             var input1 = $('<input>');
 9             input1.attr('type', 'hidden');
10             input1.attr('name', 'curDivHtml');
11             input1.attr('value', $('#divArea').html());
12             $('body').append(form);
13             form.append(input1);
14 
15             form.submit();
16             form.remove();
17         });
View Code


通过以上方式传输html内容,需要在源页面和"ExportWord.aspx"页面上加上ValidateRequest="false"

获取到html内容后传入下面的方法中,就会通过Response输出word文件了

 1 /// <summary>
 2         /// 将HTML导出为Word文档
 3         /// </summary>
 4         /// <param name="html">html代码</param>
 5         /// <param name="filename">word文件名</param>
 6         public void ExportHTML(string html,string filename)
 7         {
 8             //Word文件头
 9             HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(filename + ".doc", System.Text.Encoding.UTF8));
10             HttpContext.Current.Response.ContentType = "application/ms-word";
11             HttpContext.Current.Response.Charset = "UTF-8";
12             HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
13 
14             //输出
15             HttpContext.Current.Response.Write(html);
16             HttpContext.Current.Response.End();
17 
18         }
View Code

 

转载于:https://www.cnblogs.com/love7hp/p/3326385.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值