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文件了。

  • 相关阅读:
    .net Core 配置Centos守护进程Supervisor
    .net Core 安装在linux上
    Mariadb Galera Cluster 搭建集群
    MariaDB 安装配置记录
    MariaDB 安装
    wso2 linux上部署说明
    RestFul 架构详解
    SpirngBoot之整合邮件服务
    SpringBoot之模板引擎
    SpringBoot之持久化框架
  • 原文地址:https://www.cnblogs.com/smartsky/p/2234502.html
Copyright © 2011-2022 走看看