Microsoft Dynamics 365 Business Central邮件发送附件EXCEL文件(程序)

话不多说,直接上代码:

codeunit 50000 EmailExcelFileExample
{
    var
        ExcelFileExtensionTok: Label '.xlsx', Locked = true;
        EmailSentTxt: Label 'File has been sent by email';
        Book1Txt: Label 'Book1';

    procedure CreateAndSendEmail(
        var TempExcelBuf: Record "Excel Buffer" temporary;
        BookName: Text)
    var
        SMTPMail: Codeunit "SMTP Mail";
        Recipients: List of [Text];
    begin
        Recipients.Add('bc@cronus.company');
        SMTPMail.CreateMessage(
            'Business Central Mail',
            'bc@cronus.company',
            Recipients,
            'Test Export to Excel and email',
            'This is an text to export data to an Excel file and email it.',
            false);

        AddAttachment(SMTPMail, TempExcelBuf, GetFriendlyFilename(BookName));
        SMTPMail.Send();
        Message(EmailSentTxt);
    end;

    local procedure AddAttachment(
        var SMTPMail: Codeunit "SMTP Mail";
        var TempExcelBuf: Record "Excel Buffer" temporary;
        BookName: Text)
    var
        TempBlob: Codeunit "Temp Blob";
        InStr: InStream;
    begin
        ExportExcelFileToBlob(TempExcelBuf, TempBlob);
        TempBlob.CreateInStream(InStr);
        SMTPMail.AddAttachmentStream(InStr, BookName);
    end;

    local procedure ExportExcelFileToBlob(
        var TempExcelBuf: Record "Excel Buffer" temporary;
        var TempBlob: Codeunit "Temp Blob")
    var
        OutStr: OutStream;
    begin
        TempBlob.CreateOutStream(OutStr);
        TempExcelBuf.SaveToStream(OutStr, true);
    end;

    local procedure GetFriendlyFilename(BookName: Text): Text
    var
        FileManagement: Codeunit "File Management";
    begin
        if BookName = '' then
            exit(Book1Txt + ExcelFileExtensionTok);

        exit(FileManagement.StripNotsupportChrInFileName(BookName) + ExcelFileExtensionTok);
    end;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值