我必须通过从内存流创建excel工作簿来返回文件。我已经使用了Interop,closed.xml,spire.xls,但没有创建一个方法来实现同样的目标。
var stream=clsUploadHelper.GetAttachmentFileStream(string.Empty, Filename);
Workbook book=new Workbook();
book.worksheet.Add(stream);
stream.Position = 0;
string xmlString = "attachment;filename=" + Filename;
return File(stream, xmlString, Filename);我是新来的,如果可能的话,请帮忙。提前谢谢。
发布于 2022-01-02 22:39:57
可能要迟到了,但我今天遇到了这个问题,我编写了这个POC,以便在.NET Core中使用Spire.XLS返回一个XLSX文件
[HttpPost]
public async Task<FileResult> Post()
{
try
{
var workbook = new Workbook();
var sheet = workbook.Worksheets[0];
sheet.InsertRow(1);
sheet.Rows[0].Columns[0].Value = "testing...";
await using var stream = new MemoryStream();
workbook.SaveToStream(stream, Spire.Xls.FileFormat.Version2016);
const string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
HttpContext.Response.ContentType = contentType;
HttpContext.Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");
var fileContentResult = new FileContentResult(stream.ToArray(), contentType)
{
FileDownloadName = $"test.xlsx"
};
return fileContentResult;
}
catch (Exception e)
{
Console.WriteLine(e);
return null;
}
}https://stackoverflow.com/questions/65948940
复制相似问题