点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试使用Outlook应用程序将水晶报表的内容作为电子邮件正文发送。 这是我在 VB.net
中的代码 导入Outlook = Microsoft.Office.Interop.Outlook
昏暗的AsString = something.ConnectionString
Dim cryRpt作为ReportDocument
昏暗的用户名AsString = a.Split(" =")(3).Split(";")(0)'获取用户名昏暗的用户名AsString = a.Split(" =")(4).Split(";")( 0)获取密码
cryRpt =新ReportDocument()暗路径AsString = Application.StartupPath
Dim svPath AsString = Application.StartupPath&" \ PDF" IfNot Directory.Exists(svPath)然后
Directory.CreateDirectory(svPath)EndIf
cryRpt.Load(路径&" \ Reports \ dr.rpt")
CrystalReportViewer1.ReportSource = cryRpt
cryRpt.SetDatabaseLogon(用户名,密码)
CrystalReportViewer1.Refresh()将myExportOptions设置为ExportOptions
myExportOptions = cryRpt.ExportOptions
myExportOptions.ExportDestinationType = ExportDestinationType.DiskFile
myExportOptions.ExportFormatType = ExportFormatType.HTML40'我也尝试了HTML32Dim html40FormatOptions as HTMLFormatOptions = New HTMLFormatOptions()
html40FormatOptions.HTMLBaseFolderName = svPath
html40FormatOptions.HTMLFileName =" dr.htm"
html40FormatOptions.HTMLEnableSeparatedPages = False
html40FormatOptions.HTMLHasPageNavigator = False
html40FormatOptions.UsePageRange = False
myExportOptions.FormatOptions = html40FormatOptions
cryRpt.Export()TryDim oApp作为Outlook.Application
oApp =新的前景。应用
Dim oMsg作为Outlook.MailItem
oMsg = oApp.CreateItem(outlook.OlItemType.olMailItem)
oMsg.Subject = txtSubject.Text
oMsg.BodyFormat = Outlook.OlBodyFormat.olFormatHTML
oMsg.HTMLBody =""
oMsg.HTMLBody = getFileAsString(svPath&" \ PoPrt \ QuotPrt.html")
oMsg.To = txtEmailId.Text
Dim ccArray AsNew List(Of String)({txtCC1.Text,txtCC2.Text,txtCC3.Text})Dim cclis AsString = String.Join(",",ccArray.Where(Function(ss)NotString.IsNullOrEmpty(ss)) )
oMsg.CC = cclis
oMsg.Display(True)异常捕获
MsgBox("出问题了",vbExclamation)结束尝试
SvFormPanel3.Visible = False
功能
PrivateFunction getFileAsString(ByVal file AsString)AsStringDim阅读器作为System.IO.FileStream
尝试
reader = New System.IO.FileStream(file,IO.FileMode.Open)捕获异常
MsgBox("出问题了。" + e.Message,vbInformation)EndTryDim resultString AsString ="" Dim b(1024)AsByteDim temp as UTF8Encoding = New UTF8Encoding(True)DoWhile reader.Read(b,0,b.Length)> 0
resultString = resultString和temp.GetString(b)
Array.Clear(b,0,b.Length)循环
reader.Close()返回resultString
EndFunction
该报告将以html格式导出到指定位置。 当我们手动打开该html文件时,它会完美显示带有边框线和所有边框。 但是,当将其作为Outlook应用程序的html主体添加时,格式将消失,并且看起来很分散。 谁能帮忙
我已经解决了该问题,方法是将其导出为PDF,然后转换为图像并嵌入到电子邮件正文中。
有人可以帮忙吗
一周热门 更多>