PDA

View Full Version : [ASP.NET]inserire documento pdf oppure excel


nuovoUtente86
19-04-2008, 12:56
In un sito ho dei report pdf o excel che attualmente, quando l' utente sceglie di visualizzare, aprono acrobat o excel fuori dal broswer come applicazione a se stante.Avrei invece bisogno che il documento si visualizzasse all' interno della pagine in una porzione dalle dimensioni da me stabilite.Come posso fare ciò?

MasterDany
19-04-2008, 12:59
così:
<iframe src="..../..../file.pdf widht="500" height="40"></iframe>

nuovoUtente86
19-04-2008, 13:02
grazie.
I file in questione vengono però generati dinamicamente attraverso i report rdlc e i datasource.In questo caso come posso fare?Potrei salvare il file in una cartella e poi da li linkarlo come mi hai indicato?

MasterDany
19-04-2008, 13:05
non capisco :cool:

nuovoUtente86
19-04-2008, 14:14
Ho provato il codice che mi hai dato con un file gia esistente: lo spazio sulla pagina viene riservato ma non viene inserito il file: deve per caso stare in una cartella specifica dell' applicazione?


Per la seconda questione, dicevo, i file che dovrei pubblicare vengono attualmente generati cosi e si aprono in acrobat o excel esternamente al browser


Dim miaTblAdp As New miaDataSetTableAdapters.MIADataTableTableAdapter
Dim tblmia As New MiaDataSet.MiaDataTableDataTable
miaTblAdp.FillElenco(tblmia,.....................................)
RptViewer.LocalReport.ReportPath = MapPath("mioreport.rdlc")
RptViewer.LocalReport.DataSources.Clear()
RptViewer.LocalReport.DataSources.Add(New ReportDataSource("mioDataSet", tblmia.DefaultView))

Dim warnings As Warning() = Nothing
Dim streamids As String() = Nothing
Dim mimeType As String = Nothing
Dim encoding As String = Nothing
Dim extension As String = Nothing
Dim bytes As Byte()

bytes = RptViewer.LocalReport.Render("Excel", Nothing, mimeType, encoding, extension, streamids, warnings)

Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=file.xls")
Response.AddHeader("Content-Length", bytes.Length - 1)
Response.ContentType = "application/octet-stream"
Response.BinaryWrite(bytes)
Response.End()


Ora a me servirebbe pubblicare proprio il "file.xls" che qui invece viene visualizzato sull' host del client attraverso il programma predefinito per quell' estensione.