【发布时间】:2020-11-18 04:51:30
【问题描述】:
我需要使用 foreach 循环生成多个 word 文档并下载到磁盘。对于 word 文档,我使用的是 Syncfusion。我只能从我的程序中下载一个文档。那是因为我在循环中使用了 return 语句。返回后如何继续循环,或者有什么方法可以在循环内不返回? 这是我的代码
public async Task<IActionResult> CreateDocument(int? id)
{
string text = "some text"
List<OrderUser> teamList = await _context.OrderUser.Where(o => o.OrderId == id).Include(o => o.Order).Include(o => o.ApplicationUser).ToListAsync();
using (WordDocument document = new WordDocument())
{
IWSection section = document.AddSection();
IWParagraph paragraph = section.AddParagraph();
paragraph.AppendText(text);
foreach (var item in teamList)
{
paragraph.AppendText("Mr " + item.ApplicationUser.DisplayName);
MemoryStream stream = new MemoryStream();
document.Save(stream, FormatType.Docx);
stream.Position = 0;
return File(stream, "application/msword", "Result.docx");
}
return null;
}
}
【问题讨论】:
标签: c# .net-core syncfusion