Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从DataTable到MailMessage附件的C#流_C#_.net_Excel_Csv_Mailmessage - Fatal编程技术网

从DataTable到MailMessage附件的C#流

从DataTable到MailMessage附件的C#流,c#,.net,excel,csv,mailmessage,C#,.net,Excel,Csv,Mailmessage,对于软件开发来说,我只是想知道您是否可以将数据从DataTable流式传输到ZipFile对象?以下是我对这种情况的看法: 我有一个C#方法,它接受一个sql查询参数,转到数据库并以DataTable的形式返回数据 理想情况下,不需要创建Excel或CSV物理文件。当然可以设置一个流来创建Excel或CSV对象 这需要转换为zip文件 zip文件将被添加到邮件附件中 总而言之,我有sql数据库中的数据。C#应用程序允许用户创建自己设计的报告,现在要求通过电子邮件订阅发送该报告。由于数据的大小,发

对于软件开发来说,我只是想知道您是否可以将数据从DataTable流式传输到ZipFile对象?以下是我对这种情况的看法:

  • 我有一个C#方法,它接受一个sql查询参数,转到数据库并以DataTable的形式返回数据
  • 理想情况下,不需要创建Excel或CSV物理文件。当然可以设置一个流来创建Excel或CSV对象
  • 这需要转换为zip文件
  • zip文件将被添加到邮件附件中
  • 总而言之,我有sql数据库中的数据。C#应用程序允许用户创建自己设计的报告,现在要求通过电子邮件订阅发送该报告。由于数据的大小,发送邮件时需要一个压缩附件,而不是将其放在邮件正文中

    也许我走错了方向。如有任何建议,我们将不胜感激。我知道这里面有很多东西,所以欢迎任何指点或建议。
    谢谢

    简单。对于
    DataTable
    ->Write to text stream->的每一行,您可以像这样向mailmessage添加:
    mailmessage.Attachments.add(新附件(流,ContentType))
    。一个抓住了!在创建
    新附件
    对象之前,您应该在完成后设置
    stream.Position=0
    。您可以将数据表写入Xml并发送Xml。然后可以在接收端读取。可以将Xml放入电子表格中并轻松查看。谢谢@Kyle,非常有用!