C# 如何将DataGrid数据导出到Outlook
我的目标:我想添加添加到数据网格中的某些项目/行,以便在创建新电子邮件后显示在Outlook的C# 如何将DataGrid数据导出到Outlook,c#,wpf,wcf,datagrid,outlook,C#,Wpf,Wcf,Datagrid,Outlook,我的目标:我想添加添加到数据网格中的某些项目/行,以便在创建新电子邮件后显示在Outlook的HTMLBody中 我的问题:我不知道从哪里开始,如何才能实现我的目标。因此,我想从任何愿意提供建议的人那里得到一些建议和想法 下面是一些(我认为)对我有帮助的基本编码 我可以从我的WCF服务将我想要的项目插入到我的datagrid中 private async void btnSupplierAddItem_Click(object sender, RoutedEventArgs e) {
HTMLBody
中
我的问题:我不知道从哪里开始,如何才能实现我的目标。因此,我想从任何愿意提供建议的人那里得到一些建议和想法
下面是一些(我认为)对我有帮助的基本编码
- 我可以从我的WCF服务将我想要的项目插入到我的datagrid中
无需查看我的WCF编码,因为一切正常private async void btnSupplierAddItem_Click(object sender, RoutedEventArgs e) { using (MKCServiceClient service = new MKCServiceClient()) { var selectedId = (lbxSupplierSearchItems.SelectedItem as ViewQuoteList).Id; QuoteItemList qd = new QuoteItemList() { Id = selectedId, }; var items = await service.GetListOfQuoteItemsAsync(qd); foreach (var item in items) dgSupplier.Items.Add(new ViewQuoteItemList { CustomerRFQ = item.CustomerRFQ, Item = item.Item, Material = item.Material, Description = item.Description, AdditionalInformation = item.AdditionalInformation, Quantity = item.Quantity }); }
- 我使用Microsoft Outlook互操作引用和创建邮件项目的方法
private void SendRFQRequest() { OutlookApp outlookApp = new OutlookApp(); Outlook.MailItem mailItem = outlookApp.CreateItem(Outlook.OlItemType.olMailItem); mailItem.Recipients.Add(lblSupplierEmailAddress.Content.ToString()); mailItem.Subject = "Quote Request"; mailItem.HTMLBody = "<html><body>Test Body</body></html>"; mailItem.Importance = Outlook.OlImportance.olImportanceHigh; mailItem.Display(false); } //Where I call my SendRFQRequest method private void btnSupplierSend_Click(object sender, RoutedEventArgs e) { SendRFQRequest(); }
private void SendRFQRequest() { OutlookApp OutlookApp=新建OutlookApp(); Outlook.MailItem-MailItem=outlookApp.CreateItem(Outlook.OlItemType.olMailItem); mailItem.Recipients.Add(lblSupplierEmailAddress.Content.ToString()); mailItem.Subject=“报价请求”; mailItem.HTMLBody=“测试主体”; mailItem.Importance=Outlook.OlImportance.olImportanceHigh; mailItem.Display(false); } //在这里,我调用SendRFQRequest方法 私有void b保险人发送点击(对象发送者,路由目标e) { SendRFQRequest(); }
- 我的推荐人
使用OutlookApp=Microsoft.Office.Interop.Outlook.Application代码>
使用Outlook=Microsoft.Office.Interop.Outlook代码>
既然您已经看到了我的编码和我到目前为止所做的工作,那么您认为实现我的目标的最佳方式是什么 如果我理解正确,并且您只想将DataGrid转换为html,那么这可能会有所帮助:
其思想是迭代DataGrid列和行,并将它们转换为html
、
、
、
标记(或者选择您最喜欢的实现表的方式)。然后你可以参数化你的SendRFQRequest
比如SendRFQRequest(字符串内容)
,并将它设置到你的html正文中。“无需查看我的WCF编码,因为一切都很好”-那么为什么要用WCF标记这个问题?如果我在代码中使用它,为什么不在这里添加标记?如果你对我的问题没有任何建设性的意见,为什么要发表这样一个无用的评论?评论是为了要求澄清——在问题上加上不属于问题一部分的标签(对我来说)是没有意义的,既然你说WCF工作得很好,那显然不是问题的一部分。我不认为这是没有建设性的或无用的。如果你不喜欢它,不要回应或标记它。