问题描述
刚接触mvc,对其中的很多东西都不熟悉,之前都是用三层开发的,我需要把页面显示的内容导出到一个Excel文件中,页面内容我看使用foreach来显示的,现在我用了一个input按钮,想在点击的时候实现这个功能,代码是写在controller中吗?怎么写?怎么调用?mvc经验丰富的帮帮忙,先谢了
解决方案
解决方案二:
你可以搜索下asp.net生成excel文件.
解决方案三:
这是csv格式的[HttpPost][SessionFilterAttribute(SessionFilterName.Admin)]publicActionResultReport(int?id){DataTabledt=newSurveyReport().GetReport();stringtitle=reporttitle();Response.AddHeader("Content-Disposition","attachment;filename="+NewTimeStamp());Response.ContentType="vnd.ms-excel.numberformat:yyyy-MM-dd";Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");Response.Write(GetExcelData(title,dt));Response.End();returnnull;}//标题publicstringreporttitle(){return"编号,公司名称,联系方式,电子邮箱";}publicStringWriterGetExcelData(stringexceltitle,DataTabledt){StringWritersw=newStringWriter();sw.WriteLine(exceltitle);try{for(inti=0;i<dt.Rows.Count;i++){stringcontent=string.Empty;for(intj=0;j<dt.Columns.Count;j++){if(content==string.Empty){content=dt.Rows[i][j].ToString();}else{content+=","+dt.Rows[i][j].ToString();}}for(intt=0;t<dt.Columns.Count;t++){content=content.Replace("t","").Replace("r","").Replace("n","");}sw.WriteLine(content);}}catch(Exceptionex){throwex;}sw.Close();returnsw;}///<summary>///根据时间生成文件名///</summary>///<returns></returns>publicstringNewTimeStamp(){stringstrFileName;//生成文件名:当前年月日小时分钟秒+随机数Randomrd=newRandom(int.Parse(DateTime.Now.ToString("MMddhhmmss")));strFileName=DateTime.Now.ToString("yyyyMMdd")+DateTime.Now.Hour+DateTime.Now.Minute+DateTime.Now.Second+rd.Next(999999).ToString()+".csv";returnstrFileName;}
解决方案四:
在三层开发中,还好实现,到了mvc中,实现不了啊
解决方案五:
引用3楼zhouweiweiconfident的回复:
在三层开发中,还好实现,到了mvc中,实现不了啊
上面不是给你了么
解决方案六:
[SessionFilterAttribute(SessionFilterName.Admin)]DataTabledt=newSurveyReport().GetReport();这两句代码看不懂,出现编译错误,是什么错误啊?还有怎么调用,在view中,刚接触,很多不懂,见谅啊
解决方案七:
DataTabledt=获取你数据库中的数据,以datatble返回[SessionFilterAttribute(SessionFilterName.Admin)]可以删掉提交到该action或者链接到该action都可以
解决方案八:
<ahref='<%=Url.Action("actionname","contorllername")%>'>下载报告</a>
解决方案九:
路上的需要的话可以去我哪里下载ASP.NETmvc导出Excel实现功能http://download.csdn.net/detail/accesszhb/4374287