由于工作需求,需要把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下载-简单粗暴方式的更多相关文章

  1. javadoc导出成word文档

    刚刚上次弄完了一个坑爹的任务,这次我领导又给我一个让人脑瓜子疼的任务了. 基本上客户他在验收我们系统的时候,都会要求我们编写相关的文档,这次也不例外. 只是这次的客户要求我们给出接口文档.不仅是要整个 ...

  2. 网页导出成word文档的默认视图方式问题

    网页导出成word文档的默认视图方式问题 一般保存后的word文档默认是“Web版式视图”打开,这样会给客户的感觉不是真正的word文档,必须实现打开就是“页面视图” 1. 修改<html> ...

  3. ASP.NET MVC 中解决Session,Cookie等依赖的方式

    原文:https://blog.csdn.net/mzl87/article/details/90580869 本文将分别介绍在MVC中使用Filter和Model Binding两种方式来说明如何解 ...

  4. 在Asp.Net MVC中实现计算页面执行时间及简单流量统计

    引用www.rsion.com.dll进您的asp.net MVC项目本人不才,源代码中有详细说明,查看demo修改HomeController public class HomeController ...

  5. word模版另存为网页(*.htm,*.html),转为jsp页面并加入数据后导出成word

    word模版另存为网页之后,将html格式的文件转为jsp页面,在页面上加入相应的动态值,加入的值中包含图片,这个该怎么处理??另外导出的文件需要拷贝到不同的地方(无法联网)使用. <%@ pa ...

  6. mysql中数据导出成excel文件语句

    代码如下 复制代码 mysql>select * from xi_table into outfile ’d:test.xls’; 导出为txt文件:  代码如下 复制代码 select * f ...

  7. 内容导出成word

    private void 导出word(string 内容) { string tit = "<html xmlns:v=\"urn:schemas-microsoft-co ...

  8. html格式的文档转成word下载

    当我们前端使用ueditor插件来让用户输入数据,保存至数据库.在另一个地方需要打印用户输入的内容的时候可以用到.因为要将ueditor带格式保存下来保存的就是html格式的内容,后台转化如下: @R ...

  9. .net mvc中epplus导出excel

    帮助类 using OfficeOpenXml; using OfficeOpenXml.Style; using System; using System.Collections.Generic; ...

随机推荐

  1. 【SignalR学习系列】4. SignalR广播程序

    创建项目 创建一个空的 Web 项目,并在 Nuget 里面添加 SignalR,jQuery UI 包,添加以后项目里包含了 jQuery,jQuery.UI ,和 SignalR 的脚本. 服务端 ...

  2. HDOJ2002-计算球体面积

    Problem Description 根据输入的半径值,计算球的体积.   Input 输入数据有多组,每组占一行,每行包括一个实数,表示球的半径.   Output 输出对应的球的体积,对于每组输 ...

  3. jQuery serializeArray()方法改写多维对象以及自定义

    jQuery客户端表单数据获取 jq在进行客户端表单数据获取我们通常用serialize或者是serizlizeArray(),两种方法,可是在serizlizeArray()返回的数据是一个数组,数 ...

  4. 防止DDoS攻击的方式

    针对企业的DDoS攻击持续增长,根据Akamai的调查报告,2015年DDoS攻击增长了史无前例的180% !面对 DDoS 攻击性挑战,我们应该建立有效的防御体系来抵御攻击.   1.网站IP减少公 ...

  5. 一个想法照进现实-《IT连》创业项目:一个转折一个反思

    前言: 距离上一篇介绍IT连创业项目的文章,已经过去2个月了,没想到我竟然这么久没写文章向大伙汇报进度了,实在抱歉. 关于这事,我得好好反省,认真检讨,好好写文,哈. 今天主要是讲述一下最近创业的进展 ...

  6. 设置双击直接打开.ipynb文件

    本文环境:win10(64)+anaconda3(64) anaconda3安装好后,可在开始菜单下查看 背景:jupyter notebook打开后无法更改路径,只能在默认路径下upload文件(如 ...

  7. NYOJ--27--dfs--水池数目

    /* Name: NYOJ--27--水池数目 Author: shen_渊 Date: 17/04/17 15:42 Description: 经典dfs水题,,, */ #include<i ...

  8. My first_leetcode_Rever Ingeter 数字翻转java实现(办法集合)

    7. Reverse Integer Reverse digits of an integer. Example1: x = 123, return 321  Example2: x = -123, ...

  9. 《撸轮子系列》之LoadPE

    前言 我新书<Python爬虫开发与项目实战>出版了. 这本书包括基础篇,中级篇和深入篇三个部分,不仅适合零基础的朋友入门,也适合有一定基础的爬虫爱好者进阶,如果你不会分布式爬虫,不会千万 ...

  10. Java初学者:深度辨析"=="与equals的区别

    Java初学者:深度辨析"=="与equals()方法的区别 1.基本数据类型当中,"=="比较的是两个变量的值 int a=5; int b=4; 3 int ...