Tag: asp.net mvc 3

当从MemoryStream返回时,ASP.net MVC ActionResult破坏了excel文件

我有我的控制器内的以下行动 public ActionResult DownloadExcel() { //create and populate Excel file here C1XLBook testBook = new C1XLBook(); //populate it here MemoryStream ms = new MemoryStream(); testBook.Save(ms, FileFormat.Biff8); return File(ms, "application/ms-excel", "test-file.xls"); } 当打开文件时,我得到Excel消息说文件与扩展名不匹配,文件打开损坏。 如果我将文件保存在硬盘上,并从那里返回,一切都很好: return base.File(@"C:\LOGS\test-file.xls", "application/ms-excel", "test-excel.xls"); 我最初认为Save函数在将它保存到MemoryStream中时会损坏它,所以我保存并重新加载它,并且很好地传回给用户 – 当保存在Hard Drive上并从那里返回时,而不是从的MemoryStream 有任何想法吗? 我不太喜欢将文件保存在硬盘驱动器….除此之外,我应该能够将它保存到MemoryStream并从那里返回? 我有一个预感是可能不应该使用MemoryStream在MVC中返回文件,因为每个请求都是孤立的?

ASP.NET MVC:下载一个Excel文件

我正在C#的动作方法下载一个Excel文件重新生成一个FileResult,像这样: return File(bindata, "application/octet-stream", "mytestfile.xls"); 当我手动导航到与上述方法相对应的URL时,我得到了该文件的渲染表示。 该文件不会用另存为-dialog下载。 有没有办法强制下载通过另存为-dialog? -pom-

导出视图,擅长剃刀而不失风格

我有一个剃刀视图,我想出口到Excel。 我在我看来使用这一行来做到这一点: Response.AddHeader("Content-Type", "application/vnd.ms-excel"); 当我评论这条线时,我可以看到我想要的风格。 当我取消注释并提出要求时,浏览器会要求我下载Excel文件。 但问题是当我打开文件,我得到这个错误 Missing file c:\scrips\excel.css 这是我用来显示页面的CSS。 那么我怎样才能使文件保存在其布局?

使用EPPlus只读取列或单元格

有没有办法使一列或一组单元格locking或只能使用EPPlus读取? 我已经尝试了下面的代码单独和一起,但都似乎没有预期的效果。 整个工作表都被locking(如果我包含IsProtected语句)或者什么也不是。 ws.Protection.IsProtected = true; ws.Column(10).Style.Locked = true; 编辑 这里是我的控制器的整个代码块 FileInfo newFile = new FileInfo("C:\\Users\\" + User.Identity.Name + "\\Desktop" + @"\\ZipCodes.xlsx"); ExcelPackage pck = new ExcelPackage(newFile); var ws = pck.Workbook.Worksheets.Add("Query_" + DateTime.Now.ToString()); //Headers ws.Cells["A1"].Value = "ChannelCode"; ws.Cells["B1"].Value = "DrmTerrDesc"; ws.Cells["C1"].Value = "IndDistrnId"; ws.Cells["D1"].Value = "StateCode"; ws.Cells["E1"].Value = "ZipCode"; ws.Cells["F1"].Value = "EndDate"; ws.Cells["G1"].Value = "EffectiveDate"; […]