从SQL数据生成Excel电子表格作为电子邮件附件

时间:2018-12-11 14:56:28

标签: c#

发送它很容易,所以请不要将此作为重复的问题...我看到一个与perl有关的问题...

这就是我所拥有的:

var data = GetSqlData();
var dataGrid = new GridView { DataSource = data };
dataGrid.DataBind();

var sw = new StringWriter();
var htw = new HtmlTextWriter(sw);
dataGrid.RenderControl(htw);
var dataString = sw.ToString();

using (var ms = new MemoryStream(Encoding.ASCII.GetBytes(dataString)))
{
    var attachment = new Attachment(ms, fileName + ".xlsx", "application/ms-excel");
    var disposition = attachment.ContentDisposition;
    disposition.CreationDate = DateTime.Now;
    disposition.ModificationDate = DateTime.Now;
    disposition.ReadDate = DateTime.Now;
    disposition.FileName = fileName + ".xlsx";
    disposition.Size = ms.Length;
    disposition.DispositionType = DispositionTypeNames.Attachment;

    mail.Attachments.Add(attachment);

    SendMail(mail);
}

我这样做是为了直接下载我的网站(略有不同-与this answer相似)。我正在努力解决的事实是,我正在写入要附加的文件的内容是原始html,因此在Excel中无法读取...

有人知道如何更正此问题吗?我的意思是我可以一行一行地写数据逗号分隔,但是由于我已经写了所有这些代码,所以我宁愿避免做太多更改。

谢谢。

0 个答案:

没有答案