Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Generare file excel, con un pò di richieste...
mercoledì 04 aprile 2007 - 09.32
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
MadBrain
Profilo
| Newbie
49
messaggi | Data Invio:
mer 4 apr 2007 - 09:32
Mi è stato richiesto di dare la possibilità agli utenti di un sistema di reportistica online di scaricare anche i dati in formato excel.
Ho ovviato semplicemente salvando uno stream in formato csv a partire dalla tabella del report visualizzata in una pagina web.
Ora però il cliente mi ha chiesto di aggiungere anche le intestazioni alle colonne e di modificare alcuni dei dati in modo da renderli più leggibili (ho in tabella delle colonne con codici che vengono "spiegati" tramite tooltip, cosa che in excel non si può fare)
Ho provato semplicemente a mettere una riga in più con l'intestazione nel cvs ma Excel mi ritorna un errore, dice che il file è in formato SYLK ma non riconoscibile... e qui mi blocco...
Ho anche provato ad utilizzare il writer excel di Infragistics (libreria che utilizzo per tutto il sito) ma non mi lascia modificare i dati "poco leggibili"
Ho cercato anche di capire come usare XML per creare un file Excel ma, non sapendo quale versione di Excel ci sarà sui client la scelta è limitativa... discorso opposto per i PIA, sarebbe molto preferibile non installare nulla sui server.
Insomma, ogni strada provata mi ha portato ad un nuovo intoppo... qualche consiglio?
---------------
"chi fa domande rischia di sembrare stupido
chi non ne fa rischia di restare stupido"
trasportation
Profilo
| Junior Member
104
messaggi | Data Invio:
mer 4 apr 2007 - 12:39
La strada da seguire è semplice, generi un'output html con una tabella e le varie celle che ti servono per la formattazione, es:
<table>
<tr>
<td>Valore cella</td>
</td>
</td>
metti il content type per excel, es:
Response.BufferOutput = false;
Response.ContentType = "application/vnd.ms-excel";
Response.Write(<stringa formattata>);
e poi fai il response write della tua stringa html formattata come sopra per magia (non è vero ma è bello dirlo) la tua pagina si apre con excel bella e formattata, puoi utilizzare anche formattazioni diverse (grassetto, colori, ecc) e allineamenti, esisteono formattazioni specifiche per excel tipo la rotazione del testo e altre cosine molto belle dal punto di vista della formattazione.
Come vedi è molto semplice e hai il risultato che vuoi, se invece hai bisogno di cose più complesse (macro, calcoli, ecc.) esistono librerie apposta (non ho provato quella che hai usato tu ma altre) per questo tipo di funzionalità.
Una cosa importante è che nella pagina dove generi questo output non deve essere presente nulla nella pagina aspx a parte la direttiva @PAGE.
Spero sia chiaro
Ciao
/*
* web:
http://www.robertobeccari.it
*/
Torna su
Stanze Forum
Elenco Threads
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 !