水晶报表导出操作及动态更改报表中的文本字段
2008-11-30 11:07
471 查看
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Form1
Dim ExOPS As ExportOptions
Dim ReportDoc As ReportDocument = New ReportDocument
Dim logOnInfo As ReportInfo = New ReportInfo
Dim FileOPS As DiskFileDestinationOptions = New DiskFileDestinationOptions
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As DataSet1 = New DataSet1
ds.temptable.AddtemptableRow("熊川湘", 12)
ds.temptable.AddtemptableRow("唐沙", 24)
Dim cry As CrystalReport1 = New CrystalReport1
'程序外控制报表的标题
Dim to1 As CrystalDecisions.CrystalReports.Engine.TextObject
to1 = CType(cry.ReportDefinition.ReportObjects("text3"), CrystalDecisions.CrystalReports.Engine.TextObject)
to1.Text = "tttt"
cry.SetDataSource(ds.Tables("temptable"))
'cry.ExportToDisk(ExportFormatType.PortableDocFormat, "d:\\c.pdf") ''转换成PDF
'cry.ExportToDisk(ExportFormatType.WordForWindows, "d:\\c.doc")''转换成doc
cry.ExportToDisk(ExportFormatType.Excel, "d:\\c.xls") ''转换成xls
CrystalReportViewer1.ReportSource = cry
table1 = ds.Tables("temptable")
End Sub
Dim table1 As DataTable = New DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' ExportToPDF("d:\\CrystalReport1.rpt", Me.table1, "d:\\c.doc")
ExportToExcel("d:\\CrystalReport1.rpt", Me.table1, "d:\\c.xls")
End Sub
''' <summary>
''' 导出报表文件为PDF格式
''' </summary>
''' <param name="ReportFile">报表文件名称,调用时请使用Server.MapPath("报表文件.rpt")这样来给这个参数</param>
''' <param name="ReportDataSource">报表文件所使用的数据源,是一个Dataset</param>
''' <param name="PDFFileName">你要导成的目标文件名称,注意不要放在wwwroot等目录中,iis会不让你导出的</param>
''' <returns>bool成功返回true,失败返回false</returns>
Public Function ExportToPDF(ByVal ReportFile As String, ByVal ReportDataSource As Object, ByVal PDFFileName As String) As Boolean
Try
ReportDoc.Load(ReportFile)
ReportDoc.SetDataSource(ReportDataSource)
FileOPS.DiskFileName = PDFFileName
ExOPS = ReportDoc.ExportOptions
ExOPS.DestinationOptions = FileOPS
ExOPS.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
ExOPS.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat
ReportDoc.Export()
Return True
Catch
Return False
End Try
End Function
''' <summary>
''' 导出报表文件到Excel格式
''' </summary>
''' <param name="ReportFile">报表文件名称,调用时请使用Server.MapPath("报表文件.rpt")这样来给这个参数</param>
''' <param name="ReportDataSource">报表文件所使用的数据源,是一个Dataset</param>
''' <param name="ExcelFileName">你要导成的目标文件名称,注意不要放在wwwroot等目录中,iis会不让你导出的</param>
''' <returns>成功返回true失败返回false</returns>
Public Function ExportToExcel(ByVal ReportFile As String, ByVal ReportDataSource As Object, ByVal ExcelFileName As String) As Boolean
Try
ReportDoc.Load(ReportFile)
ReportDoc.SetDataSource(ReportDataSource)
FileOPS.DiskFileName = ExcelFileName
ExOPS = ReportDoc.ExportOptions
ExOPS.DestinationOptions = FileOPS
ExOPS.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
ExOPS.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.Excel
ReportDoc.Export()
Return True
Catch
Return False
End Try
End Function
End Class
Imports CrystalDecisions.Shared
Public Class Form1
Dim ExOPS As ExportOptions
Dim ReportDoc As ReportDocument = New ReportDocument
Dim logOnInfo As ReportInfo = New ReportInfo
Dim FileOPS As DiskFileDestinationOptions = New DiskFileDestinationOptions
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As DataSet1 = New DataSet1
ds.temptable.AddtemptableRow("熊川湘", 12)
ds.temptable.AddtemptableRow("唐沙", 24)
Dim cry As CrystalReport1 = New CrystalReport1
'程序外控制报表的标题
Dim to1 As CrystalDecisions.CrystalReports.Engine.TextObject
to1 = CType(cry.ReportDefinition.ReportObjects("text3"), CrystalDecisions.CrystalReports.Engine.TextObject)
to1.Text = "tttt"
cry.SetDataSource(ds.Tables("temptable"))
'cry.ExportToDisk(ExportFormatType.PortableDocFormat, "d:\\c.pdf") ''转换成PDF
'cry.ExportToDisk(ExportFormatType.WordForWindows, "d:\\c.doc")''转换成doc
cry.ExportToDisk(ExportFormatType.Excel, "d:\\c.xls") ''转换成xls
CrystalReportViewer1.ReportSource = cry
table1 = ds.Tables("temptable")
End Sub
Dim table1 As DataTable = New DataTable
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' ExportToPDF("d:\\CrystalReport1.rpt", Me.table1, "d:\\c.doc")
ExportToExcel("d:\\CrystalReport1.rpt", Me.table1, "d:\\c.xls")
End Sub
''' <summary>
''' 导出报表文件为PDF格式
''' </summary>
''' <param name="ReportFile">报表文件名称,调用时请使用Server.MapPath("报表文件.rpt")这样来给这个参数</param>
''' <param name="ReportDataSource">报表文件所使用的数据源,是一个Dataset</param>
''' <param name="PDFFileName">你要导成的目标文件名称,注意不要放在wwwroot等目录中,iis会不让你导出的</param>
''' <returns>bool成功返回true,失败返回false</returns>
Public Function ExportToPDF(ByVal ReportFile As String, ByVal ReportDataSource As Object, ByVal PDFFileName As String) As Boolean
Try
ReportDoc.Load(ReportFile)
ReportDoc.SetDataSource(ReportDataSource)
FileOPS.DiskFileName = PDFFileName
ExOPS = ReportDoc.ExportOptions
ExOPS.DestinationOptions = FileOPS
ExOPS.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
ExOPS.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat
ReportDoc.Export()
Return True
Catch
Return False
End Try
End Function
''' <summary>
''' 导出报表文件到Excel格式
''' </summary>
''' <param name="ReportFile">报表文件名称,调用时请使用Server.MapPath("报表文件.rpt")这样来给这个参数</param>
''' <param name="ReportDataSource">报表文件所使用的数据源,是一个Dataset</param>
''' <param name="ExcelFileName">你要导成的目标文件名称,注意不要放在wwwroot等目录中,iis会不让你导出的</param>
''' <returns>成功返回true失败返回false</returns>
Public Function ExportToExcel(ByVal ReportFile As String, ByVal ReportDataSource As Object, ByVal ExcelFileName As String) As Boolean
Try
ReportDoc.Load(ReportFile)
ReportDoc.SetDataSource(ReportDataSource)
FileOPS.DiskFileName = ExcelFileName
ExOPS = ReportDoc.ExportOptions
ExOPS.DestinationOptions = FileOPS
ExOPS.ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
ExOPS.ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.Excel
ReportDoc.Export()
Return True
Catch
Return False
End Try
End Function
End Class
相关文章推荐
- 水晶报表动态设置字段宽度(包括公式文本字段)
- 如何使用代码动态设置水晶报表中的文本,字段等对象呢?
- 【转】如何使用代码动态设置水晶报表中的文本,字段等对象呢?
- 使用代码动态设置水晶报表中的文本,字段等对象
- 如何使用代码动态设置水晶报表中的文本,字段等对象呢?
- 水晶报表动态设置字段宽度(包括公式文本字段)
- [转]水晶报表中动态保留数字字段小数位 [http://blog.csdn.net/xwdd129/archive/2006/05/29/760661.aspx]
- c# 动态修改水晶报表文本内容
- 答静静:动态更改水晶报表部分数据的背景颜色(VB.Net)
- 在水晶报表中动态的添加自己所需要的的字段的代码
- ES2007动态表单编辑器中使用editor控件操作大文本字段
- 如何更改水晶报表导出文件的名称
- 水晶报表中如何动态增加字段 (网摘)
- 如何更改水晶报表导出文件的名称
- 水晶报表中如何动态增加字段
- 水晶报表中如何动态增加字段
- ES2007动态表单编辑器中使用editor控件操作大文本字段
- 如何在水晶报表中动态添加字段
- [水晶报表]如何更改水晶报表导出文件的名称
- 在水晶报表中动态的添加自己所需要的的字段