mvc中html导出成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下载-简单粗暴方式的更多相关文章
- javadoc导出成word文档
刚刚上次弄完了一个坑爹的任务,这次我领导又给我一个让人脑瓜子疼的任务了. 基本上客户他在验收我们系统的时候,都会要求我们编写相关的文档,这次也不例外. 只是这次的客户要求我们给出接口文档.不仅是要整个 ...
- 网页导出成word文档的默认视图方式问题
网页导出成word文档的默认视图方式问题 一般保存后的word文档默认是“Web版式视图”打开,这样会给客户的感觉不是真正的word文档,必须实现打开就是“页面视图” 1. 修改<html> ...
- ASP.NET MVC 中解决Session,Cookie等依赖的方式
原文:https://blog.csdn.net/mzl87/article/details/90580869 本文将分别介绍在MVC中使用Filter和Model Binding两种方式来说明如何解 ...
- 在Asp.Net MVC中实现计算页面执行时间及简单流量统计
引用www.rsion.com.dll进您的asp.net MVC项目本人不才,源代码中有详细说明,查看demo修改HomeController public class HomeController ...
- word模版另存为网页(*.htm,*.html),转为jsp页面并加入数据后导出成word
word模版另存为网页之后,将html格式的文件转为jsp页面,在页面上加入相应的动态值,加入的值中包含图片,这个该怎么处理??另外导出的文件需要拷贝到不同的地方(无法联网)使用. <%@ pa ...
- mysql中数据导出成excel文件语句
代码如下 复制代码 mysql>select * from xi_table into outfile ’d:test.xls’; 导出为txt文件: 代码如下 复制代码 select * f ...
- 内容导出成word
private void 导出word(string 内容) { string tit = "<html xmlns:v=\"urn:schemas-microsoft-co ...
- html格式的文档转成word下载
当我们前端使用ueditor插件来让用户输入数据,保存至数据库.在另一个地方需要打印用户输入的内容的时候可以用到.因为要将ueditor带格式保存下来保存的就是html格式的内容,后台转化如下: @R ...
- .net mvc中epplus导出excel
帮助类 using OfficeOpenXml; using OfficeOpenXml.Style; using System; using System.Collections.Generic; ...
随机推荐
- AJAX 中JSON 和JSONP 的区别 以及请求原理
AJAX 跨域请求 - JSONP获取JSON数据 博客分类: Javascript /Jquery / Bootstrap / Web Asynchronous JavaScript and X ...
- Codeforces Round #427 (Div. 2)
B. The number on the board 题意: 有一个数字,它的每个数位上的数字的和不小于等于k.现在他改变了若干位,变成了一个新的数n,问现在的数和原来的数最多有多少位不同. 思路: ...
- C语言开发面试题
(以下是题主参加的一家偏向Linux平台开发的公司软件岗位笔试题,分享原题,后面附上题主91分的部分参考答案^V^) 一.(8分)请问一下程序输出什么结果? char *getStr(void) { ...
- Codeforces 556 A Case of the Zeros and Ones
A. Case of the Zeros and Ones time limit per test 1 second memory limit per test 256 megabytes input ...
- 找不到包含 OwinStartupAttribute 的程序集。 - 找不到包含 Startup 或 [AssemblyName].Startup 类的程序集。
打开web.config添加 <add key="owin:appStartup" value="false" /> <add key=&qu ...
- 小兴趣:修改Hosts文件,禁止访问指定网页
不知道Hosts文件什么鬼的朋友可以在网上搜索一下(大牛勿喷- -) 访问网址时,先查询本地的Hosts文件,那么如果我们将Hosts文件中的网址与IP的映射修改之后,将访问错误的IP. 如在文件尾追 ...
- c语言链表升级
之前的链表就是一个普通的带头的单向链表,我们不自觉的会发现这样的链表有缺陷,有关链表的删除新增查找跟链表的结构体内容耦合性太强 什么意思呢? 比如我们之前的链表的结构体 typedef struct ...
- CentOS Linux 系统 安装oracle 11g
CentOS Linux 系统 安装oracle 11g 在Linux系统上安装oracle是比较麻烦,需要配置各种变量啥的,o(︶︿︶)o ,但是没办法,有些东西你总的去接触,而且接触理解的越早越深 ...
- 七月SSL行业新闻回顾
大事件一:被泄露的私钥和基于假私钥进行的撤回 上个月,我们报告说Spotify和Cisco在应用程序中捆绑了有效证书的私钥.这些证书将根据基准要求被撤销,但应用程序不是泄露私钥的唯一来源.Koen R ...
- 開源sources
學了c++已經快有半年光景,感覺在停留在syntax上已經不能感到有所滿足.一下是一些開源資料,難度極高,姑且當作是個人的一個小小wishing list,當作to-do list 般去執行吧. ht ...