我有一个在两台服务器上运行的应用程序,一个是QA,另一个是Production。 问题是,当您要打开应用程序在QA或PRD中下载的Excel时,它会打开Excel但没有任何反应,只是空白。
有一段时间,应用程序可以将信息导出到Excel文件,自昨天起不再,方法如下:
[Autorizacion]
public ActionResult ExportToExcelReports()
{
IList<DTOReport> reports = null;
try
{
reports = BusinessLogic.Report.GetReports(SessionHelper.Site.IdSite);
var title = "Reports";
var report = new System.Data.DataTable(title);
report.Columns.Add("Blah1", typeof(string));
report.Columns.Add("Blah2", typeof(string));
report.Columns.Add("Blah3", typeof(string));
report.Columns.Add("Blah4", typeof(string));
report.Columns.Add("Blah5", typeof(string));
report.Columns.Add("Blah6", typeof(string));
report.Columns.Add("Blah7", typeof(string));
report.Columns.Add("Blah8", typeof(string));
report.Columns.Add("Blah9", typeof(string));
report.Columns.Add("Blah10", typeof(string));
foreach (var item in reports)
{
var brandText = "";
foreach (var brand in item.Brands)
{
brandText = brandText + (brandText != "" ? "," : "") + brand.Name;
}
report.Rows.Add(item.Name, item.Description, item.DateCreated, item.Type, item.Category, item.Latitude, item.Longitude, item.Locality, item.Province, brandText);
}
var grid = new GridView();
grid.DataSource = report;
grid.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=" + title + ".xls");
Response.ContentType = "application/ms-excel";
Response.Charset = string.Empty;
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
grid.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
}
catch (Exception ex)
{
LogError(ex);
}
return View("Index", reports);
}
问题是,这可以在我的本地机器上工作,我打开我编译它的项目,我运行它,它与生产相同的信息或数据发生故障,QA也是如此,因为它们共享同一台服务器-database。
GetReports工作正常,它不会进入try catch,它只适用于我的开发环境。可能与服务器中的excel相关的东西?
是否与IIS或部署应用程序的服务器有关?
答案 0 :(得分:0)
http://www.computerhope.com/issues/ch001123.htm
您可以尝试以上链接。由于它曾经工作过,可能Excel的设置已经改变。 基本上在链接中有三件事要尝试:
答案 1 :(得分:0)
好的,我在这个链接中找到了答案: Opening excel files from the internet opens a blank excel window
Windows安装此更新时出现问题: Windows Update KB3115130(Excel 2010) - https://www.microsoft.com/en-us/download/details.aspx?id=52809
&#34; Microsoft Excel 2010 32位版中存在一个安全漏洞,当打开恶意修改的文件时,该漏洞可能允许任意代码运行。此更新解决了该漏洞。&#34;
解决方案是(不推荐)卸载该更新或: 进入文件的属性(R click - properties) 点击“取消屏蔽”#39; 点击“应用”#39; (Josh Bucklen回答)