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
Estrazione dati SqlServer2005 -> Excel...there is a problem!!!
venerdì 23 maggio 2008 - 19.43
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
LuxSkyWalker
Profilo
| Junior Member
68
messaggi | Data Invio:
ven 23 mag 2008 - 19:43
Ciao a tutti!!!
Sono un giovane programmatore con poca esperienza e mi trovo davanti ad un problema che non so come risolvere.
Lavoro ad un applicativo ASP.NET 2.0 / C#...devo gestire l'estrazione tramite una vista e un dts di alcuni dati presenti su una tabella di SqlServer2005.
In pratica questo applicativo estrae alcuni dati dal db e riempie un excel: mentre tutti i dati che estrae non mi danno problemi, ho qualche fastidio con i datetime: in pratica devo scrivere sull'excel la data nel formato GG/MM/AAAA mentre ovviamente il formato di un datetime è AAAA-MM-GG HH:MM:SS.
Per farvi capire qual'è il problema vi scrivo ora la query di estrazione del dts.
select isnull(convert(char(10), DataInizio,103), '') as DataInizio,....
from tabella
Ovviamente estraggo molti più dati ma questo è sufficiente per farvi capire.
Converte in char(10) la data (che quindi sarà GG/MM/AAAA e se è null mette al posto la stringa vuota mentre se è valorizzata la scrive sull'excel. E fino a qui nessun problema.
Sull'excel però la data viene salvata in formato testo e quindi non è possibile applicarvi i filtri, o meglio è possibile ma non restituiscono nulla se applico il filtro >= ad una certa data...funzionano solo se il filtro applicato è del tipo CONTIENE/NON CONTIENE/UGUALE A/DIVERSO DA.
Io ho necessita di salvare la data nel formato corrente (GG/MM/AAAA) ma dev'essere salvata sull'excel come data in modo da applicarvi i filtri necessari.
Come devo scrivere la query che mi permette di fare questo???
Grazie,
LuxSkyWaler
Junior Developer .NET
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 25 mag 2008 - 01:18
>Ciao a tutti!!!
Ciao!
>Io ho necessita di salvare la data nel formato corrente (GG/MM/AAAA)
>ma dev'essere salvata sull'excel come data in modo da applicarvi
>i filtri necessari.
A mio avviso sbagli l'approccio. Tu cerchi di convertire il dato (che è all'inizio tipizzato come Data) in carattere. Quando esporti verso l'excel, esso verrà salvato come stringa e quindi come carattere (cella text). Devi passare all'excel la data in formato ISO YYYYMMDD hh:mm:ss e non preoccuparti della formattazione.
Però è vero anche che il tuo excel di destinazione dovrà avere la colonna predisposta per la data impostata come tipo Data. Altrimenti vai sempre ad inserire la tua data come stringa.
>
>Come devo scrivere la query che mi permette di fare questo???
Non usare nemmeno il cast, scrivi il campo com'è (ammesso che sia Datetime o SmallDateTime) e ricorda di impostare la colonna di destinazione a Data su Excel.
>
>Grazie,
Di nulla!
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
LuxSkyWalker
Profilo
| Junior Member
68
messaggi | Data Invio:
lun 26 mag 2008 - 19:44
Ciao...
Innanzitutto grazie per avermi risposto...probabilmente non mi sono spiegato bene, il problema non era cosi semplice come l'hai fatto tu ma ora è risolto...purtroppo le specifiche del cliente per cui lavoro dicevano che io dovessi passare all'excel le date in formato stringa ed è proprio questa l'origine dei miei problemi...ma oggi ho risolto prendendo spunto da quanto mi hai scritto tu(grazie) che era probabilmente la soluzione più immediata e più semplice al problema...purtroppo i clienti hanno sempre delle pretese che sono un po' strane...e purtroppo il cliente ha sempre ragione!!!Ma diciamo che sono riuscito a farlo ragionare e me la sono cavata!!!
Ora so che ho un altro alleato per risolvere i miei problemi (dovuti la maggior parte delle volte alla mia inesperienza!!!).
Ti ringrazio ancora....
Ciao!!!
LuxSkyWaler
Junior Developer .NET
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 26 mag 2008 - 19:54
>Ciao...
Ciao!
>Innanzitutto grazie per avermi risposto...probabilmente non mi
>sono spiegato bene, il problema non era cosi semplice come l'hai
>fatto tu ma ora è risolto...purtroppo le specifiche del cliente
>per cui lavoro dicevano che io dovessi passare all'excel le date
>in formato stringa ed è proprio questa l'origine dei miei problemi...ma
>oggi ho risolto prendendo spunto da quanto mi hai scritto tu(grazie)
>che era probabilmente la soluzione più immediata e più semplice
>al problema...
Non conoscevo la situazione cliente. Diciamo che ho provato a darti un consiglio
>purtroppo i clienti hanno sempre delle pretese che sono un po' strane...
Eccome
>e purtroppo il cliente ha sempre ragione!!!
Ni.. bisonga anche istruirlo e fargli capire che a volte una soluzione può essere raggiunta in maniera più semplice. Basta che ottenga il risultato che gli serve
>Ma diciamo che sono riuscito a farlo ragionare e me la sono cavata!!!
>Ora so che ho un altro alleato per risolvere i miei problemi (dovuti la maggior parte delle volte alla mia inesperienza!!!).
Eccomi
>
>Ti ringrazio ancora....
Di nulla!
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
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 !