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
.NET Framework
Esportare tabella su csv
lunedì 21 maggio 2012 - 10.05
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 3.5
|
Windows 7
|
Visual Studio 2008
|
SQL Server 2008 R2
Codadilupo
Profilo
| Newbie
14
messaggi | Data Invio:
lun 21 mag 2012 - 10:05
Ciao a tutti,
Premessa: lavoro con VS 2008 in VB su un DB in SQL Server 2008 R2 e mi auguro di aprire il Thread nel posto giusto.
Spero possiate aiutarmi (Alex pensaci tu....)
Tempo fa grazie all'aiuto di Alex (ecco il motivo del pensaci tu), sono riuscito ad esportare dati contenuti in una DGV in un file .csv
Alcune volte mi è capitato che durante l'esportazione il contenuto di alcuni campi venga distorto (il campo nella DGV è diverso dal campo csv).
Questo dipende dal fatto che durante l'esportazione il formato delle celle per default è "Generale"?
Se sì, come faccio a forzarlo su "Testo", per esempio?
Inoltre: ho dei campi in tabella formattati come Text (quindi il contenuto è piuttosto ampio), questo, in qualche modo, può creare problemi nell'esportazione?
Se all'interno del campo formattato come text, è stato inserito 1 o piu volte il Carriage Return, nell'esportazione in csv esporta anche il CR, col risultato di generare un disallineamento.
Come posso fare per ovviare a tale inconveniente?
Grazie per l'aiuto.
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
lun 28 mag 2012 - 16:11
>Ciao a tutti,
Ciao
>Alcune volte mi è capitato che durante l'esportazione il contenuto
>di alcuni campi venga distorto (il campo nella DGV è diverso
>dal campo csv).
>Questo dipende dal fatto che durante l'esportazione il formato
>delle celle per default è "Generale"?
>Se sì, come faccio a forzarlo su "Testo", per esempio?
Scusami, ma un csv è un semplice file di testo in cui i valori di ogni ipotetica colonna sono separati da virgole. Quello di cui tu parli è il parser di Excel, che decide, campionando, quale tipo dare ad un particolare campo. Se non produci un excel direttamente, con un csv secondo me puoi al massimo qualificare il testo con le ". Hai provato a aprire il csv come file di testo e poi dire ad Excel di stimare il tipo dei campi su un campione?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Codadilupo
Profilo
| Newbie
14
messaggi | Data Invio:
mer 30 mag 2012 - 08:54
Ciao mitico Alex, è sempre un piacere risentirti.
Mi spiego meglio; ovviamente hai ragione nell'asserire che il csv è un file di testo, ma per questioni lavorative DEVO esportare il file in formato csv.
Il contenuto proviene da una tabella di SQL, i campi sono (come tipo dati) Data e Text.
Ora, correggimi se sbaglio, il tipo dato text può contenere circa 1 mld di caratteri, mentre la singola cella di Excel circa 36.000. Pertanto, nel caso in cui avessi nel campo caratteri >36.000, come posso fare ad esportare il record in maniera corretta? Hai dei suggerimenti?
Inoltre, per produrre un file direttamente su Excel, ha qualche suggerimento? (potrebbe servirmi in futuro).
Grazie
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
sab 9 giu 2012 - 03:07
>Ora, correggimi se sbaglio, il tipo dato text può contenere circa
>1 mld di caratteri, mentre la singola cella di Excel circa 36.000.
>Pertanto, nel caso in cui avessi nel campo caratteri >36.000,
>come posso fare ad esportare il record in maniera corretta? Hai
>dei suggerimenti?
se non ricordo male text è max 2giga (mld). Per excel dipende, che versione hai? Se 2010 dici corretto, altrimenti sono pure meno se non ricordo male.
comunque dai un'occhiata qui per esser certo:
http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP005199291.aspx
In quel caso credo che l'unica sia dividere in più campi il testo, facendo una divisione sulla dimensione massima accettata da excel.
E qui dovrai programmare un pochino in .net.
>Inoltre, per produrre un file direttamente su Excel, ha qualche
>suggerimento? (potrebbe servirmi in futuro).
In quel caso o usi un po' di codice per generare il tuo worksheet (ti serve sempre .net) oppure, se hai almeno una sql server standard, puoi esportare con un package integration service.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
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 !