mvc中html匯出成word下載-簡單粗暴方式

來源:互聯網
上載者:User

標籤:code   小白   為我   建模   替換   back   簡曆   郵箱   doc   

由於工作需求,需要把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">郵箱:[email protected]</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下載-簡單粗暴方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.