分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

mvc中html导出成word下载-简单粗暴方式

发布时间:2023-09-06 01:09责任编辑:彭小芳关键词:word

由于工作需求,需要把html简历页导出成word下载。网上搜索了很多解决方案,基本都是用一些插件,然后写法也很麻烦,需要创建模板什么的。

固定替换值  代码一大堆。但是对于我的需求来说  并没有什么用,因为我这边的数据不能固定。  所以只能另寻办法,皇天不负有心人   找了一天

  终于找到了 
哈哈

mvc中的FlieResult  非常强大  可以直接传入html   指定文件格式  直接返回Flie文件下载

不多说了   直接上代码吧   非常之简单粗暴

后台代码:

 ???????[ValidateInput(false)] ???????[HttpPost] ???????public FileResult ExportWord(string html) ???????{ ???????????StringBuilder sb = new StringBuilder(); ???????????sb.Append("<!DOCTYPE html>"); ???????????sb.Append("<body>"); ???????????sb.Append(html); ???????????sb.Append("</body>"); ???????????var byteArray = System.Text.Encoding.Default.GetBytes(sb.ToString()); ???????????Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312"); ???????????return File(byteArray, "application/ms-word", "wordtest" + ".doc"); ???????}

前台代码:

<body> ???<form hidden id="form1" action="/Home/ExportWord" method="post"> ???????<input type="hidden" value="" name="html" id="cc" /> ???????<input type="submit" id="st" /> ???</form><div id="target"> ???<style> ???????table { ???????????border: 0; ????????????width: 1000px; ???????} ???????.tr { ???????????background-color: #ccc; ????????????font-size: 16px; ????????????width: 500px; ???????} ???????.pl20 { ???????????padding-left: 20px; ???????} ???????.pt10 { ???????????padding-top: 10px; ???????} ???</style> ???<table> ???????<tr class="tr"> ???????????<td>个人信息</td> ???????</tr> ???????<tr> ???????????<td class="pl20 pt10">姓名:张三</td> ???????</tr> ???????<tr> ???????????<td class="pl20 pt10">联系电话</td> ???????</tr> ???????<tr> ???????????<td class="pl20 pt10">邮箱:15645@qq.com</td> ???????</tr> ???</table></div></body><a id="ea" href="#">导出word</a>

js代码:

<script> ???$("#ea").click(function () { ???????var html = $("#target").html(); ???????$("#cc").val(html); ???????$("#st").click(); ???})</script>

这里lz用的post提交,因为get提交url有长度限制   大家应该都懂  这里就不多说了

样式必须写内联或者行内样式   不然导出来的文件会没有样式 图片必须用绝对路径  不然不会显示

lz在研究导出word的时候去逛了一下智联和51job的导出word  智联没看出是用的什么方法导出的   51job应该也是用的这种类似的方式  用PHP写的   由于lz是个刚入行的小白

51具体用什么方式导出的也不太清楚   只是一个猜测   看了下他们那个简历页的html代码    样式也是写的内联  所以lz大胆猜测应该也是这种简单粗暴法   


以上观点纯属个人观点  
大牛勿喷   小白一个

mvc中html导出成word下载-简单粗暴方式

原文地址:http://www.cnblogs.com/passerby-jia/p/7488757.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved