zoukankan      html  css  js  c++  java
  • MVC 3 Excel文件下载

    一、准备工作

    下载MyXls 下载地址为:http://sourceforge.net/projects/myxls/

    二、将下载的DLL添加到项目引用中。

    三、开始写代码……

    1.在Controllers里面相应的Controllers添加一个Action。

    /// <summary>
    /// 下载Action
    /// </summary>
    /// <returns></returns>
    /// 创建人:JackYang
    /// 2011/11/3
    public ActionResult Down()
    { 
         XlsDocument xls = new XlsDocument();
     
        Worksheet sheet = xls.Workbook.Worksheets.Add("下载内容");
     
        ColumnInfo colInfo = new ColumnInfo(xls, sheet);
     
        //将拼写好的Excel,转化成byte[]
        return File(DownLoadHelper(xls,sheet,"下载内容"), "application/vnd.ms-excel");
    }

    2.添加一个Excel进行二进制的转换的私有方法

    /// <summary>
    /// 将拼写好的Excel,转化成byte[]
    /// </summary>
    /// <param name="xls">XLS.</param>
    /// <param name="sheet">sheet.</param>
    /// <param name="xlsName">下载时文件名称</param>
    /// <returns></returns>
    /// 创建人:JackYang
    /// 2011/11/3
    private byte[] DownLoadHelper(XlsDocument xls, Worksheet sheet, string xlsName)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            xls.Save(ms);
            ms.Flush();
            ms.Position = 0;
            sheet = null;
            xls = null;
            HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.Charset = "UTF-8";
            response.ContentType = "application/vnd.ms-excel";
            System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", string.Format("attachment; filename=" + HttpUtility.UrlEncode(xlsName)));
            byte[] data = ms.ToArray();
            return data;
        }
    }

    3.在前台页面,添加一个超链接,来调用这个Action。

    @Html.ActionLink("下载", "Down");

    四、OK了,点下,就可以下载到传说中正统的Excel文件了。

  • 相关阅读:
    十三、Sklearn核密度估计
    十二、Sklearn高斯混合模型
    十一、Sklearn K-means聚类
    十、Sklearn流形学习
    九、Sklearn主成分分析
    八、Sklearn决策树与随机森林
    七、Sklearn支持向量机
    六、Sklearn线性回归
    五、Sklearn朴素贝叶斯分类
    $.each()和$().each()
  • 原文地址:https://www.cnblogs.com/smartsky/p/2234502.html
Copyright © 2011-2022 走看看