Foros del Web » Programación para mayores de 30 ;) » .NET »

exportar active report a html

Estas en el tema de exportar active report a html en el foro de .NET en Foros del Web. Hola a todos! Me gustaría exportar un active report al formato html. Hasta ahora lo tengo hecho para poder exportarlo a pdf y funciona os ...
  #1 (permalink)  
Antiguo 07/07/2009, 05:55
 
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años, 1 mes
Puntos: 0
exportar active report a html

Hola a todos!

Me gustaría exportar un active report al formato html.
Hasta ahora lo tengo hecho para poder exportarlo a pdf
y funciona os paso el código para ver cómo lo
tengo montado.



Dim stream As New System.IO.MemoryStream
Dim export As New DataDynamics.ActiveReports.Export.Pdf.PdfExport

export.Export(miReport.Document, stream)

stream.Position = 0

Response.ContentType = "application/pdf"
Response.AddHeader("content-disposistion", "inline; filename=MyExport.pdf")

Response.BinaryWrite(stream.ToArray())

stream.Close()
stream.Dispose()
export.Dispose()
GC.ReRegisterForFinalize(stream)
GC.ReRegisterForFinalize(export)
GC.ReRegisterForFinalize(miReport)
GC.Collect()

Response.End()

nota: miReport es de tipo DataDynamics.ActiveReports.ActiveReport3 donde se guarda
todo lo que tiene el informe.

Esto funciona pero lo que me interesa es volcarlo a una página html.

Espero que me podáis ayudar, es urgente!!!

Muchas gracias!
  #2 (permalink)  
Antiguo 07/07/2009, 11:00
Avatar de neo101  
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: exportar active report a html

Pues mira, básicamente estuve investigando y, suponiendo que tu código tenga una exportacion asi... sería:

Código:
'código que recupera el nombre del archivo a salvar...

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim dialog1 As New SaveFileDialog
        dialog1.Filter = "htm files (*.htm)|"
        'OPCIONES DE DIALOGO BÁSICAS

        If dialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            ExportaHTML(dialog1.FileName & ".htm", False, True)
        End If
End Sub

'función que exporta...

    Private Sub ExportaHTML(ByVal file As String, ByVal _
      seperatePages As Boolean, ByVal pageNavigator As Boolean)

'Los parámetros son opciones de la exportacion...

        Dim report As New Tureporte

        Dim htmlOpts As HTMLFormatOptions = ExportOptions.CreateHTMLFormatOptions()
        Dim diskOpts As DiskFileDestinationOptions = ExportOptions.CreateDiskFileDestinationOptions()
        Dim exportOpts As New ExportOptions()

        htmlOpts.HTMLFileName = file
        htmlOpts.HTMLEnableSeparatedPages = seperatePages
        htmlOpts.HTMLHasPageNavigator = pageNavigator
        exportOpts.ExportFormatOptions = htmlOpts

        diskOpts.DiskFileName = file
        exportOpts.ExportDestinationOptions = diskOpts

        exportOpts.ExportDestinationType = _
           ExportDestinationType.DiskFile
        exportOpts.ExportFormatType = _
           ExportFormatType.HTML40

        Tureporte.Load()

        Tureporte.Export(exportOpts)
    End Sub
De manera muy generica esta la funcion (y lo hago a proposito) para que veas que tanto puedes o no hacer con la misma, la saqué de la MSDN y el link de las opciones de htmlOpts es:

http[dos puntos]//msdn[punto]microsoft[punto]com/es-es/library/ms226407(VS.80).aspx

Estamos considerando en este ejemplo que no necesitas mostrar el archivo, solo imprimir...

Saludos!
  #3 (permalink)  
Antiguo 07/07/2009, 23:56
 
Fecha de Ingreso: marzo-2008
Mensajes: 30
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: exportar active report a html

Gracias pero este código no me sirve. Creo que es para
Crystal reports y yo utilizo la librería DataDynamics.ActiveReport y
ese código no me lo reconoce.

Me podriáis ayudar con alguna otra opción? lo que quiero es que
se visualice el archivo .html.

Muchas gracias!
  #4 (permalink)  
Antiguo 08/07/2009, 15:10
Avatar de neo101  
Fecha de Ingreso: julio-2007
Mensajes: 73
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: exportar active report a html

Mmm... pues, la verdad no se usar esas librerias, pero buscando en los foros de satadynamics encontré este código..

Código vb.net:
Ver original
  1. Public Function GetHTMLReport(ByVal ReportPath As String) As String
  2.  
  3. Dim sTemp As String
  4. Dim clsStream As System.IO.Stream
  5.  
  6. 'NOTE: this implemented class is vital to this process - look for
  7. documentation about implementing
  8. 'the DataDynamics.ActiveReports.Export.Html.IOutputHtml object...
  9. Dim clsOutput As New MyProject.HtmlOutput()
  10.  
  11. Dim clsReport As New DataDynamics.ActiveReports.ActiveReport()
  12. Dim clsExport As New
  13. DataDynamics.ActiveReports.Export.Html.HtmlExport()
  14.  
  15. Try
  16.  
  17. 'load report - here's where you could alternately configure a
  18. data source or other parameters...
  19. clsReport.LoadLayout(ReportPath)
  20.  
  21. 'run report...
  22. clsReport.Run()
  23.  
  24. 'export to HTML...
  25. Call clsExport.Export(clsReport.Document, clsOutput, "1-" &
  26. clsReport.Document.Pages.Count.ToString)
  27.  
  28. 'get HTML output...
  29. sTemp = clsOutput.OutputString
  30.  
  31. 'release objects...
  32. clsExport = Nothing
  33. clsReport = Nothing
  34. clsOutput = Nothing
  35.  
  36. 'fix up HTML - not sure what these characters are about, but
  37. it's easy to fix...
  38. sTemp = Replace(sTemp, "o;?", "")
  39.  
  40. 'add padding - reports are designed for PDF which adds margins
  41. by default...
  42. sTemp = Replace(sTemp, "body leftmargin=""0"" topmargin=""0""",
  43. "body leftmargin=""25"" topmargin=""25""")
  44.  
  45. 'return...
  46. Return sTemp
  47.  
  48. Catch ex As System.Exception
  49.  
  50. Return ex.Message & ": " & ex.StackTrace
  51.  
  52. End Try
  53.  
  54. End Function
  55.  
  56. ...you could then call this function from a Web Form like this:
  57.  
  58. Private Sub StreamHTML()
  59.  
  60. Dim sTemp As String
  61. Dim sReportPath As String = "PATH TO RPX FILE"
  62.  
  63. 'get report contents...
  64. sTemp = GetHTMLReport(sReportPath)
  65.  
  66. 'clear buffer...
  67. Response.Clear()
  68. Response.ClearContent()
  69. Response.ClearHeaders()
  70.  
  71. 'set up header for streaming access...
  72. Response.AddHeader("content-disposition", "inline;
  73. filename=report.html")
  74.  
  75. 'write to response buffer...
  76. Response.Write(sTemp)
  77.  
  78. 'flush and close buffer...
  79. Response.Flush()
  80. Response.Close()
  81. Response.End()
  82.  
  83. End Sub

No se realmente cuanto te sirva, pero puedes seguir buscando en aquellos foros, el enlace es:

http[dos puntos]//www[punto]datadynamics[punto]com/forums/29967/ShowPost.aspx

saludos!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:40.