155 lines
7.0 KiB
VB.net
155 lines
7.0 KiB
VB.net
Imports System.IO
|
|
|
|
|
|
Public Class tsXtraReport
|
|
Public Shared Sub ExportarAPDF(Plantilla() As Byte, Datos As Object, FicheroPDF As String, Optional Parametros As Hashtable = Nothing)
|
|
Dim xr As DevExpress.XtraReports.UI.XtraReport
|
|
Dim s As String = System.Text.Encoding.UTF8.GetString(Plantilla)
|
|
Using sw As New StreamWriter(New MemoryStream())
|
|
sw.Write(s)
|
|
sw.Flush()
|
|
xr = DevExpress.XtraReports.UI.XtraReport.FromStream(sw.BaseStream, True)
|
|
End Using
|
|
If xr.Parameters IsNot Nothing Then
|
|
Dim pr As Global.DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = "Fecha").FirstOrDefault
|
|
If pr IsNot Nothing Then
|
|
pr.Value = Now
|
|
pr.Visible = False
|
|
End If
|
|
If Parametros IsNot Nothing Then
|
|
For Each entry As DictionaryEntry In Parametros
|
|
Dim par = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = entry.Key).FirstOrDefault
|
|
If par IsNot Nothing Then
|
|
par.Value = entry.Value
|
|
par.Visible = False
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
|
|
xr.DataSource = Datos
|
|
xr.CreateDocument()
|
|
xr.ExportToPdf(FicheroPDF)
|
|
End Sub
|
|
|
|
Public Shared Sub ExportarAxls(Plantilla() As Byte, Datos As Object, Ficheroxls As String, Optional Parametros As Hashtable = Nothing)
|
|
Dim xr As DevExpress.XtraReports.UI.XtraReport
|
|
Dim s As String = System.Text.Encoding.UTF8.GetString(Plantilla)
|
|
Using sw As New StreamWriter(New MemoryStream())
|
|
sw.Write(s)
|
|
sw.Flush()
|
|
xr = DevExpress.XtraReports.UI.XtraReport.FromStream(sw.BaseStream, True)
|
|
End Using
|
|
If xr.Parameters IsNot Nothing Then
|
|
Dim pr As Global.DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = "Fecha").FirstOrDefault
|
|
If pr IsNot Nothing Then
|
|
pr.Value = Now
|
|
pr.Visible = False
|
|
End If
|
|
If Parametros IsNot Nothing Then
|
|
For Each entry As DictionaryEntry In Parametros
|
|
Dim par = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = entry.Key).FirstOrDefault
|
|
If par IsNot Nothing Then
|
|
par.Value = entry.Value
|
|
par.Visible = False
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
xr.DataSource = Datos
|
|
xr.CreateDocument()
|
|
xr.ExportToXls(Ficheroxls)
|
|
|
|
End Sub
|
|
Public Shared Sub ExportarAxlsx(Plantilla() As Byte, Datos As Object, Ficheroxlsx As String, Optional Parametros As Hashtable = Nothing)
|
|
Dim xr As DevExpress.XtraReports.UI.XtraReport
|
|
Dim s As String = System.Text.Encoding.UTF8.GetString(Plantilla)
|
|
Using sw As New StreamWriter(New MemoryStream())
|
|
sw.Write(s)
|
|
sw.Flush()
|
|
xr = DevExpress.XtraReports.UI.XtraReport.FromStream(sw.BaseStream, True)
|
|
End Using
|
|
If xr.Parameters IsNot Nothing Then
|
|
Dim pr As Global.DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = "Fecha").FirstOrDefault
|
|
If pr IsNot Nothing Then
|
|
pr.Value = Now
|
|
pr.Visible = False
|
|
End If
|
|
If Parametros IsNot Nothing Then
|
|
For Each entry As DictionaryEntry In Parametros
|
|
Dim par = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = entry.Key).FirstOrDefault
|
|
If par IsNot Nothing Then
|
|
par.Value = entry.Value
|
|
par.Visible = False
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
xr.DataSource = Datos
|
|
xr.CreateDocument()
|
|
xr.ExportToXlsx(Ficheroxlsx)
|
|
|
|
End Sub
|
|
Public Shared Sub ExportarAcsv(Plantilla() As Byte, Datos As Object, Ficherocsv As String, Optional Parametros As Hashtable = Nothing)
|
|
Dim xr As DevExpress.XtraReports.UI.XtraReport
|
|
Dim s As String = System.Text.Encoding.UTF8.GetString(Plantilla)
|
|
Using sw As New StreamWriter(New MemoryStream())
|
|
sw.Write(s)
|
|
sw.Flush()
|
|
xr = DevExpress.XtraReports.UI.XtraReport.FromStream(sw.BaseStream, True)
|
|
End Using
|
|
If xr.Parameters IsNot Nothing Then
|
|
Dim pr As Global.DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = "Fecha").FirstOrDefault
|
|
If pr IsNot Nothing Then
|
|
pr.Value = Now
|
|
pr.Visible = False
|
|
End If
|
|
If Parametros IsNot Nothing Then
|
|
For Each entry As DictionaryEntry In Parametros
|
|
Dim par = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = entry.Key).FirstOrDefault
|
|
If par IsNot Nothing Then
|
|
par.Value = entry.Value
|
|
par.Visible = False
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
xr.DataSource = Datos
|
|
xr.CreateDocument()
|
|
xr.ExportToCsv(Ficherocsv)
|
|
|
|
End Sub
|
|
|
|
|
|
Public Shared Function ExportarAPDF(Plantilla() As Byte, Datos As Object, Optional Parametros As Hashtable = Nothing) As MemoryStream
|
|
Dim xr As DevExpress.XtraReports.UI.XtraReport
|
|
Dim s As String = System.Text.Encoding.UTF8.GetString(Plantilla)
|
|
Using sw As New StreamWriter(New MemoryStream())
|
|
sw.Write(s)
|
|
sw.Flush()
|
|
|
|
xr = DevExpress.XtraReports.UI.XtraReport.FromStream(sw.BaseStream, True)
|
|
End Using
|
|
If xr.Parameters IsNot Nothing Then
|
|
Dim pr As Global.DevExpress.XtraReports.Parameters.Parameter = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = "Fecha").FirstOrDefault
|
|
If pr IsNot Nothing Then
|
|
pr.Value = Now
|
|
pr.Visible = False
|
|
End If
|
|
If Parametros IsNot Nothing Then
|
|
For Each entry As DictionaryEntry In Parametros
|
|
Dim par = (From p As DevExpress.XtraReports.Parameters.Parameter In xr.Parameters Where p.Name = entry.Key).FirstOrDefault
|
|
If par IsNot Nothing Then
|
|
par.Value = entry.Value
|
|
par.Visible = False
|
|
End If
|
|
Next
|
|
End If
|
|
End If
|
|
xr.DataSource = Datos
|
|
xr.CreateDocument()
|
|
Dim ms As New MemoryStream
|
|
xr.ExportToPdf(ms)
|
|
Return ms
|
|
End Function
|
|
End Class |