zoukankan      html  css  js  c++  java
  • ASP.NET MVC 导出CSV文件

    ASP.NET MVC   导出CSV文件、直接贴代码

    /// <summary>

    /// ASP.NET MVC导出CSV文件Demo1

    /// </summary>

    /// <returns></returns>

    public ActionResult ExportDemo1()

    {

        System.IO.MemoryStream output = new System.IO.MemoryStream();

        System.IO.StreamWriter writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8);

        writer.Write("姓名,性别,年龄");//输出标题,逗号分割(注意最后一列不加逗号)

        writer.WriteLine();

     

        //输出内容

        for (int i = 0; i < 10; i++)

        {

            writer.Write("用户" + i + ","");//第一列

            writer.Write("男","");//中间列

            writer.Write("20",");//最后一列

            writer.WriteLine();

        }

     

        writer.Flush();

        output.Position = 0;

        return File(output, "text/comma-separated-values", "demo1.csv");

    }

     

    /// <summary>

    /// ASP.NET MVC导出CSV文件Demo2

    /// </summary>

    /// <returns></returns>

    public ActionResult ExportDemo2()

    {

        //定义模版(标题、内容字段、格式化参数)

        string[,] template = new string[,] {

            { "姓名,", "Name" ,"{0}"}

            , { "性别,", "Sex","{0}" }

            , { "年龄", "Age" ,"{0}"}

        };

     

        System.IO.MemoryStream output = new System.IO.MemoryStream();

        System.IO.StreamWriter writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8);

     

        //输出标题

        int lenght = template.GetLength(0);

        for (int i = 0; i < lenght; i++)

            writer.Write(template[i, 0]);

        writer.WriteLine();

     

        //输出内容

        List<User> lstUser = GetUsers();

        if (lstUser != null)

        {

            foreach (User user in lstUser)

            {

                for (int i = 0; i < lenght; i++)

                {

                    writer.Write(string.Format(template[i, 2]

                                , user.GetType().GetProperty(template[i, 1]).GetValue(user, null)));

     

                    if (i == 0)

                        writer.Write(","");

                    else if (i == lenght - 1)

                        writer.WriteLine();

                    else if (i == lenght - 2)

                        writer.Write("",");

                    else

                        writer.Write("","");

                }

            }

        }

        writer.Flush();

        output.Position = 0;

        return File(output, "text/comma-separated-values", "demo2.csv");

    }

    http://blog.csdn.net/moyanruo/article/details/18699081

    http://blog.csdn.net/binyao02123202/article/details/6865033

    ashx 页面:

     StringWriter writer = new StringWriter();             //输出内容

                for (int i = 0; i < 10; i++)

                {

                    writer.Write("用户" + i + ","");//第一列

                    writer.Write("男","");//中间列

                    writer.Write("20",");//最后一列

                    writer.WriteLine();

                }

                writer.Close();

                HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");

                HttpContext.Current.Response.ContentType = "application/ms-excel";

                HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");

                HttpContext.Current.Response.Write(writer);

                HttpContext.Current.Response.End();      

    JS 导出方法  

         $("#SearchTitle").click(function () {
            var url= UrlBase + 'Admin/Activity/Export';
            window.open(url);

    }

  • 相关阅读:
    zend guard加密使用方法
    在网页中嵌入任意字体(特殊字体/自定义字体)的解决方案
    lamp一键安装包
    PHP错误“This file has expired”的解决方法
    php采集
    smarty建的mvc环境
    sql语句操作数据库重复数据
    古语:花繁柳密处拨得开,才是手段;风狂雨急时立的定,方显脚跟。
    获取日期的jquery.ui.datepicker
    el表达式简介
  • 原文地址:https://www.cnblogs.com/hanxingli/p/5519240.html
Copyright © 2011-2022 走看看