有没有办法在bot框架中动态创建excel文件?

时间:2016-11-27 13:50:01

标签: excel azure botframework

我正在使用bot框架。我想在bot框架中创建一个excel文件来显示一些表,这是一些BI类型问题的输出,例如"前一年产品x的收入是多少?"

是否可以这样做?

1 个答案:

答案 0 :(得分:0)

您可以使用普通代码生成CSV文件,或使用spreadsheetlight之类的.NET库生成Excel文件。

然后,您可以附加新生成的Excel文件作为机器人消息的附件。

像你的机器人发送PDF或Excel文件这样的服务是可以的。在IDialog中你会像这样使用它:

private async Task SendAttachmentToUser(IDialogContext context, IAwaitable<IMessageActivity> argument)
    {
        string incoming = await argument;

        //this is your method that generates excel file and returns a link to it
        var excelLink = GenerateExcelFileBasedOnUserQuery(incoming.Text);

        IMessageActivity response = context.MakeMessage();
        response.Attachments = new List<Attachment>()
        {
            new Attachment()
            {
                ContentType = "application/vnd.ms-excel",
                ContentUrl = "http://yoursuperbot.azurewebsites.net/Files/2843578193485719fa011.xls",
                Name = "Your_Results.xls"
            }
        };
        response.Text = "Here are your results.";
        await context.PostAsync(response);
        context.Done(this);
    }