我如何在内存中写入csv,我想附加到电子邮件?



我有这个azure功能应用程序,处理错误。在我的应用程序退出之前,我想把错误写在我们的内存中为csv,然后通过电子邮件将文件发送给客户端。这是我在磁盘中存储文件的代码。

using (var writer = new StreamWriter(fileName))
using (var csv = new CsvWriter(writer, CultureInfo.InvariantCulture))
{
foreach (var row in content)
{
foreach (var col in row)
{
csv.WriteField(col);
}
csv.NextRecord();
}
}

只需使用MemoryStream而不是指向文件,稍后将其转换为字符串。

public string GetLogs()
{
// use MemoryStream instead of file
using (var ms = new MemoryStream())
using (var writer = new StreamWriter(ms))
{
// write everything
...
// ensure write is finished
writer.Flush();
// convert memory stream to string
return Encoding.UTF8.GetString(ms.ToArray());
}
}

注:但是要注意MohitGanorkar-MT写的内容。

最新更新