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; ...
随机推荐
- Qt之对话框消失动画
一.效果展示 最近做了一个提示框消失的功能,觉着挺有意思,以前一直以为Qt子窗口不能做淡出效果,其实Qt的淡出功能已经帮我们封装好了,我们仅仅只需要几行代码就可以做出酷炫的窗口关闭效果,写此篇文章的时 ...
- windows安装设备的驱动程序软件遇…
问题描述: 有时候我们在使用一些设备的时候需要获取电脑的驱动.安装方式一共有三种: 第一种是让系统自动更新和安装. 第二种是打开"资源管理器"选择指定文件夹路径更新. 第三种是使用 ...
- 聪明的质监员[NOIP2011]
时间限制:1 s 内存限制:128 MB [问题描述] 小 T 是一名质量监督员,最近负责检验一批矿产的质量.这批矿产共有n个矿石,从 1 到n逐一编号,每个矿石都有自己的重量wi以及价值vi.检 ...
- CSS样式----浮动(图文详解)
标准文档流 宏观地讲,我们的web页面和photoshop等设计软件有本质的区别:web页面的制作,是个"流",必须从上而下,像"织毛衣".而设计软件,想往哪里 ...
- Git时光机穿梭
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- CSharpGL(44)用ShadowMapping方式画物体的影子
CSharpGL(44)用ShadowMapping方式画物体的影子 在(前文)已经实现了渲染到纹理(Render To Texture)的功能,在此基础上,本文记录画物体的影子的方式之一——shad ...
- DDL中drop-alter table
一.DROP TABLE语句:用于删除数据表 DROP TABLE removes one or more tables. You must have the DROP privilege for e ...
- 【HTTP权威指南】第1 章 HTTP 概述
1.1 HTTP--因特网的多媒体信使 ................................................................................ ...
- DB2的日志理解难点
在DB2中最早的recovery时间点,是由minBuffLsn 和 lowTranLsn 的最小值决定的. minBuffLsn: represents the oldest change to a ...
- Hadoop分布式集群搭建
layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...