gpt4 book ai didi

c# - 导出到 excel 在服务器上不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 15:15:49 25 4
gpt4 key购买 nike

我有一个在两台服务器上运行的应用程序,一台用于 QA,另一台用于生产。问题是,当您想要打开由 QA 或 PRD 中的应用程序下载的 excel 时,它会打开 Excel,但没有任何反应,只是一片空白。

以前app可以导出信息到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 也会发生同样的情况,因为它们共享同一台服务器-数据库。

GetReports 运行良好,它没有进入 try catch,它只在我的开发环境中运行。可能与服务器中的 excel 有关?

它可能与 IIS 或部署应用程序的服务器有关吗?

最佳答案

http://www.computerhope.com/issues/ch001123.htm

您可以试试上面的链接。由于它曾经工作,也许 Excel 的设置已更改。基本上在链接中可以尝试三件事:

  1. 取消选中 Excel 中的“忽略 DDE”选项,以便外部应用程序调用它不会被忽略。
  2. 检查文件关联各种 Excel 文件类型(.xls、.xlsx、.xlsm 等)的扩展名
  3. 修复 office excel,以防它不能正常工作

关于c# - 导出到 excel 在服务器上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39166360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com