【问题标题】:.Net Core File Stream issue.Net Core 文件流问题
【发布时间】:2020-04-30 17:37:22
【问题描述】:

我有以下功能来下载通过LoadFromCollection() 传递的结果的 excel 文件。它可以在本地工作,但是一旦我部署到我的开发服务器 (Ubuntu),我就会收到 500 错误。

await Task.Yield();

var stream = new MemoryStream();

using (var package = new ExcelPackage(stream))
{
    var workSheet = package.Workbook.Worksheets.Add(excelName);

    workSheet.Row(1).Height = 20;
    workSheet.Row(1).Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
    workSheet.Row(1).Style.Font.Bold = true;
    workSheet.Column(6).Style.Numberformat.Format = "yyyy-mm-dd hh:mm:ss";
    workSheet.Column(12).Style.Numberformat.Format = "yyyy-mm-dd hh:mm:ss";
    workSheet.Column(13).Style.Numberformat.Format = "yyyy-mm-dd hh:mm:ss";

    workSheet.Cells.LoadFromCollection(model.Trips, true).AutoFitColumns();

    package.Save();
}
stream.Position = 0;
return File(stream, "application/octet-stream", excelName);

我现在从教程/堆栈溢出建议中尝试了一些方法,但我只是不确定问题出在哪里。我想知道这是操作系统(Windows vs Linux)还是环境配置的问题?

【问题讨论】:

  • 500 错误可能来自代码中抛出的任何异常。我看到你解决了你的问题,这很好。但下一次,显示异常消息和堆栈跟踪,以便更容易为您提供帮助,并确定错误来自哪里。

标签: c# excel ubuntu .net-core filestream


【解决方案1】:

问题似乎是 .AutoFitColumns();不知道为什么,但删除它解决了问题....

【讨论】:

  • 也不确定。我已经多次使用这个库和这个函数,并且似乎在所有环境中都可以正常工作。
  • 尝试改用这个:workSheet.Cells.AutoFitColumns();
  • 有趣:stackoverflow.com/questions/15642950/… 问题可能是不支持这个功能。尝试一一设置 AutoFit on Columns。
猜你喜欢
  • 1970-01-01
  • 2019-10-29
  • 1970-01-01
  • 2017-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-30
相关资源
最近更新 更多