如何在要附加到电子邮件的内存中编写CSV?

发布于 2025-02-10 01:19:02 字数 487 浏览 3 评论 0原文

我有一个处理错误的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();
            }
        }

I have this azure function app that process errors. Before my app exits, I would like to write the errors in our memory as csv and then send the file to a client in an email.This is the code I have that stores file in the disk.

        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();
            }
        }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

岁吢 2025-02-17 01:19:02

只需使用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());
    }
}

PS,但请注意Mohitganorkar-Mt所写的内容。

Just use MemoryStream instead of pointing to file and convert it to string later.

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());
    }
}

P.S. But pay attention to what MohitGanorkar-MT wrote.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文