Crystal e problemi esportazione in pdf, xls ...

mercoledì 21 gennaio 2009 - 19.02

volperubbia Profilo | Senior Member

Ciao a tutti,
tempo fa avevo incontrato un errore quando esportavo da codice un report in xls ...

Dim m_Report As CrystalDecisions.CrystalReports.Engine.ReportClass = ...
...
...
m_Report.Export()

su xp era un problema di service pack, mi sembra di ricordare.

Ora ho di nuovo il problema anche con le esportazioni in pdf, doc, ...
quando mi collego alla mia applicazione web, per esempio da

Windows Vista Business
Service Pack 1
IE7 Versione 7.0.6001.18000

e ottengo questo errore: "format error: not a pdf or corrupted".

Qualche idea su come risolvere il problema?

Grazie per l'attenzione,
Davide

freeteo Profilo | Guru

Ciao,
non so se ho capito male, ma tu hai un'applicazione web che usa i report e te li esporta in pdf lato server? In quel caso il problema non può essere del sistema operativo client che la usa, perchè l'elaborazione è lato server...
Quindi come dici tu, potrebbe essere un problema di service pack, guarda se qui c'è qualcosa:
http://service.sap.com/sap/bc/bsp/spn/bobj_download/main.htm
http://help.sap.com/content/bobj/overview/index.htm


Ciao.

Matteo Raumer
[MVP Visual C#]
http://blogs.dotnethell.it/freeteo

volperubbia Profilo | Senior Member

Ciao Matteo,
si mi sono spiegato male. Il problema è sul server e dovrebbe essere dovuto
a qualche service pack (il 2 e il 3?) del sistema operativo, anche perchè ho provato a
collegarmi su diversi server (dove sono ospitate le applicazioni asp.net 2.0)
e non in tutti ottengo gli stessi risultati ... in alcuni l'esport in pdf va ...
mentre per quanto riguarda doc, xls in nessuno.

Ogni qualche mese questo problema mi esce fuori, non sono ancora riuscito
a risolverlo definitivamente. E' vero che si può usare il viewer ed esportare
(questo non da alcun problema), ma a me serve farlo da vb senza passare
dal viewer.

Provo a guardare i tuoi links, ... ti faccio sapere.

Grazie mille,
Davide



Matteo ... qualcosa sono riuscito a combinare.

Questo è il codice che dava problemi con l'export in xls:

Dim exportOpts As ExportOptions = Nothing
Dim diskOpts As DiskFileDestinationOptions = Nothing
Dim m_Report As CrystalDecisions.CrystalReports.Engine.ReportClass = Nothing
m_Report = ...
m_Report.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Excel
exportOpts = m_Report.ExportOptions
diskOpts = New DiskFileDestinationOptions
exportOpts.DestinationOptions = diskOpts
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
diskOpts.DiskFileName = ...
m_Report.Export()
Response.ClearContent()
Response.ClearHeaders()
Response.WriteFile(diskOpts.DiskFileName)
Response.Flush()
Response.Close()

Ho risolto, sostituendo il tutto, con queste righe:

Dim m_Report As CrystalDecisions.CrystalReports.Engine.ReportClass = Nothing
m_Report = ...
m_Report.ExportOptions.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.Excel
m_Report.ExportToHttpResponse(m_Report.ExportOptions.ExportFormatType, Response, False, "Report")

Funziona alla grande.
L'unica cosa che non mi piace è che sul browser degli N client devi abilitare nelle opzioni
internet - protezione la voce "Richiesta automatica download di file". Altre alternative?

Davide
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5