MVC 导出 简单范例合适初学者

界面:

<div id="tbl">
                <a href="javascript:void(0)" class="easyui-linkbutton" data-options="iconCls:‘icon-remove‘,plain:true" onclick="Delete()">删除</a>
                <a href="/ProjectInformation/toExcel" id="Excel" data-options="plain:true" class="easyui-linkbutton" iconcls="icon-print">导出</a>
 </div>

后台:

/// <summary>
        /// 导出到EXCEL
        /// </summary>
        public void toExcel()
        {
            string content = Request.Cookies["getPinfoIdList"].Value.ToString();
            List<int> idList = new List<int>();
            string[] cont = content.Split(‘,‘);
            for (int i = 0; i < cont.Length; i++)
            {
                if (String.IsNullOrEmpty(cont[i]))
                {
                    continue;
                }
                idList.Add(Convert.ToInt32(cont[i]));
            }

            //接收需要导出的数据
            List<ProjectInformation> list = new List<ProjectInformation>();
            foreach (var id in idList)
            {
                ProjectInformation p = db.ProjectInformations.Find(id);
                list.Add(p);
            }

            //命名导出表格的StringBuilder变量
            StringBuilder sHtml = new StringBuilder(string.Empty);

            //打印表头
            sHtml.Append("<table border=\"1\" width=\"100%\">");
            sHtml.Append("<tr height=\"40\"><td colspan=\"29    \" align=\"center\" style=‘font-size:24px‘><b>项目汇总分析" + "</b></td></tr>");

            //打印列名
            sHtml.Append("<tr height=\"20\" align=\"center\" ><td>项目编码</td><td>行业</td><td>销售大区</td><td>省份</td><td>项目名称</td>" +
                "<td>销售人员</td><td>物资类别</td><td>投标型号</td>" +
                "<td>投标包数</td><td>投标总金额(万元)</td><td>中标金额(万元)</td>" +
                "<td>项目类型</td><td>招标单位</td><td>销售模式	</td>" +
                "<td>标书接收日期</td><td>标书完成日期</td><td>截标日期</td>" +
                "<td>开标日期</td><td>定标日期</td><td>T1公司名</td>" +
                "<td>授权代表</td><td>技术:价格:商务</td><td>T1样品情况描述</td>" +
                "<td>备案状态</td><td>投标协议书</td><td>技术确认表</td>" +
                "<td>报价分析表</td><td>标书制作人</td><td>备注</td>" +
                "</tr>");

            //循环读取List集合 
            for (int i = 0; i < list.Count; i++)
            {
                sHtml.Append("<tr height=\"20\" align=\"left\"><td>" + list[i].itemCode_C + "</td><td>" + list[i].sys_hy_C + "</td><td>" + list[i].regionBelongs_C + "</td><td>" + list[i].province_C + "</td><td>" + list[i].projectName_C
                    + "</td><td>" + list[i].salesEngineerName_C + "</td><td>" + list[i].tenderSuppliesCategory_C + "</td><td>" + list[i].sys_tbxh_C
                    + "</td><td>" + list[i].ttNumber_N + "</td><td>" + list[i].tbzje_D + "</td><td>" + list[i].zbje_D
                    + "</td><td>" + list[i].projectType_C + "</td><td>" + list[i].biddingUnit_C + "</td><td>" + list[i].xsModel_C
                    + "</td><td>" + list[i].dateReceiptTenders_T + "</td><td>" + list[i].tenderCompletionDate_T + "</td><td>" + list[i].cutoffTenderDate_T
                    + "</td><td>" + list[i].startTenderDate_T + "</td><td>" + list[i].dbrqDate_T + "</td><td>" + list[i].companyName_C
                    + "</td><td>" + list[i].authorizedRepresentative_C + "</td><td>" + list[i].evaluationPrinciples_C + "</td><td>" + list[i].ypqkms_C
                    + "</td><td>" + list[i].porStatus_C + "</td><td>" + list[i].tbxyBook_C + "</td><td>" + list[i].jsqrTable_C
                    + "</td><td>" + list[i].bjfxTable_C + "</td><td>" + list[i].tenderProducer_C + "</td><td>" + list[i].bz_C

                    + "</td></tr>");
            }

            //打印表尾
            sHtml.Append("</table>");

            //调用输出Excel表的方法
            HelperComm.ExportToExcel("application/ms-excel", "项目汇总分析.xls", sHtml.ToString());
        }


公共类HelperComm

/// <summary>
        /// 输出EXCEL表的方法
        /// </summary>
        /// <param name="FileType"></param>
        /// <param name="FileName"></param>
        /// <param name="ExcelContent"></param>
        public static void ExportToExcel(string FileType, string FileName, string ExcelContent)
        {
            System.Web.HttpContext.Current.Response.Charset = "UTF-8";
            System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
            System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8).ToString());
            System.Web.HttpContext.Current.Response.ContentType = FileType;
            System.IO.StringWriter tw = new System.IO.StringWriter();
            System.Web.HttpContext.Current.Response.Output.Write(ExcelContent.ToString());
            System.Web.HttpContext.Current.Response.Flush();
            System.Web.HttpContext.Current.Response.End();
        }

/// <summary>
        /// 导出excel模板
        /// </summary>
        /// <param name="model"></param>
        public static void excelModel(string FileUrl, string FileName) 
        {
            String FullFileName = System.Web.HttpContext.Current.Server.MapPath(FileUrl);
            FileInfo DownloadFile = new FileInfo(FullFileName);
            System.Web.HttpContext.Current.Response.Clear();
            System.Web.HttpContext.Current.Response.ClearHeaders();
            System.Web.HttpContext.Current.Response.Buffer = false;
            System.Web.HttpContext.Current.Response.ContentType = "application/octet-stream";
            System.Web.HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(FileName, System.Text.Encoding.UTF8));
            System.Web.HttpContext.Current.Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
            System.Web.HttpContext.Current.Response.WriteFile(DownloadFile.FullName);
            System.Web.HttpContext.Current.Response.Flush();
            System.Web.HttpContext.Current.Response.End(); 
        }

MVC 导出 简单范例合适初学者

时间: 2024-10-10 12:51:12

MVC 导出 简单范例合适初学者的相关文章

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult

MVC导出数据到EXCEL新方法:将视图或分部视图转换为HTML后再直接返回FileResult 导出EXCEL方法总结:MVC导出数据到EXCEL的方法有很多种,常见的是: 1.采用EXCEL COM组件来动态生成XLS文件并保存到服务器上,然后转到该文件存放路径即可:优点:可设置丰富的EXCEL格式,缺点:需要依赖EXCEL组件,且EXCEL进程在服务器中无法及时关闭,以及服务器上会存留大量的不必要的XLS文件: 2.设置输出头为:application/ms-excel,再输出拼接的HTM

asp mvc 导出txt 文件泛型方法

asp mvc 导出txt 文件泛型方法分享: public static void ExportFile<T>(T obj) { StringBuilder str = new StringBuilder(); //列出obj 对象中的所有属性 System.Reflection.PropertyInfo[] properties = obj.GetType().GetProperties(); if (properties != null && properties.Len

asp.net MVC最简单的增删查改!(详)

折腾了两天搞出来,但原理性的东西还不是很懂,废话不多说上图上代码 然后右键models,新建一个数据模型 注意我添加命名为lianxi 添加后如上 接下来在controllers添加控制器还有在Views中添加视图 注意控制器lianxi和视图的名字要一致,然后视图我是添加了3个分别是Index,insert,Modify,在控制器里分别有三个对应的函数 每当用URL访问视图时,他就调用了controllers对应的方法,例如 jiaEntities 就是建立模式时那个数据链接的名字      

mvc 导出execl

mvc导出execl 必须是get方法才可以  也不能使用ajax function ComplaintsExport() { var serial = $("form").serialize(); window.location.href = "/BidComplaints/Complaints/ComplaintsExport?" + serial; }; [HttpGet] [Description("导出")] public FileRe

Android自定义用户控件简单范例(一)

一款优秀的移动应用需要具有自己独特统一的风格,通常情况下UI设计师会根据产品需求和使用人群的特点,设计整体的风格,界面的元素和控件的互效果.而原生态的Android控件为开发人员提供的是最基本的积木元素,如果要准确地传递统一的视觉效果和交互体验,对控件的自定义使用是非常有必要的. 这篇文章通过一个简单的从Java后台程序中进行创建的示例来说明Android自定义控件的运行原理. <LinearLayout xmlns:android="http://schemas.android.com/

Android自定义用户控件简单范例(二)

对于完全由后台定制的控件,并不是很方便其他人的使用,因为我们常常需要看到控件放到xml界面上的效果,并根据效果进行布局的调整,这就需要一个更加标准的控件制作流程: 我们的自定义控件和其他的控件一样,应该写成一个类,而这个类的属性是是有自己来决定的. 我们要在res/values目录下建立一个attrs.xml的文件,并在此文件中增加对控件的属性的定义. 使用AttributeSet来完成控件类的构造函数,并在构造函数中将自定义控件类中变量与attrs.xml中的属性连接起来. 在自定义控件类中使

通过 UDP 发送数据的简单范例

package j2se.core.net.udp; import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.util.Scanner; /** * 通过 UDP 发送数据的简单范例 */public class Sender { public static void main(Str

MVC导出Excel到客户端

MVC导出数据到Excel详解 今天为大家分享一个利用NPIO导出数据到Excel 客户端的例子!(刚毕业的小白,第一次写博,如有错误 还望各位大咖指正) 1.NPOI官方网站:(http://npoi.codeplex.com/) 需要引用的dll文件如下: 2.用到的ExcelHelper类: 1 using Common.Logging; 2 using NPOI.HPSF; 3 using NPOI.HSSF.UserModel; 4 using NPOI.HSSF.Util; 5 us

asp.net mvc Htmlhelper简单扩展

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace WebApplication1.MyHtmlHelper { public static class MyHtmlHelper { //页面渲染结果: //<span>我扩展的Label,自动生成Span标签</span> //把标签名都显示(直接将内