begin process at 2012 02 11 18:29:53
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Système

 > 

Autre

 > 

export datagridview vers csv, problème TRES BIZARRE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

export datagridview vers csv, problème TRES BIZARRE

lundi 17 mars 2008 à 21:39:55 | export datagridview vers csv, problème TRES BIZARRE

ericdu93

Bonjour,

en utilisant le code d'exportation d'une datatable vers csv de la page suivante:
http://www.csharpfr.com/codes/CSVSHARP-DLL-IMPORT-EXPORT-CONTENU-FORMAT-CSV_45466.aspx#

j'obtiens bien mon fichier csv avec les points virgules. Le problème c'est que lorsque j'ouvre dans excel 2007, tout apparaît dans une seul colonne, comme ca

Colonne A:
toto;toto;titi
tata;tptp;tutu

Colonne B:
(rien)

Par contre si je fais un copier coller du contenu de ce fichier csv dans un nouveau fichier que j'aurai créer à la main et que je colle la dedans en renommant le fichier en .csv et que je réouvre avec Excel, alors les données sont bien séparées dans les différentes colonnes.

Ce n'est pas normal, avez vous une explication ?


Merci d'avance.


PS: je vous copie colle le code qui exporte la datatable vers csv:

public void CreateCSVFromDataTable(DataTable dt, bool WriteHeaders)
        {
            try
            {
                // Create the CSV file to which grid data will be exported.
                StreamWriter sw = new StreamWriter(this.FileName, false, Encoding.Unicode);
                int ColumnsCount = dt.Columns.Count;

                #region Write the headers

                // If required, write the headers.
                if (WriteHeaders)
                {
                    for (int i = 0; i < ColumnsCount; i++)
                    {
                        if(this.HeaderToCapitalLetters)
                            sw.Write(dt.Columns[i].ToString().ToUpper()); // TO MAKE IN UCASE
                        else
                            sw.Write(dt.Columns[i]);

                        if (i < ColumnsCount - 1)
                        {
                            sw.Write(GetSeparator());
                        }
                    }
                    sw.Write(sw.NewLine);
                }

                #endregion

                #region Check Table Content Separator Conflicts

                if (this.CheckTableContentSeparatorConflicts)
                {
                    foreach (DataRow dr in dt.Rows)
                    {
                        foreach (object dc in dr.ItemArray)
                        {
                            if (Convert.ToString(dc).Contains(GetSeparator().ToString()))
                                throw new CSVDataTableConflictsException("Le contenu de la table n'est pas compatible avec le séparateur choisi : '" + GetSeparator() + "'.");
                        }
                    }
                }

                #endregion

                #region Write the rows

                // Write all the rows.
                foreach (DataRow dr in dt.Rows)
                {
                    for (int i = 0; i < ColumnsCount; i++)
                    {
                        if (!Convert.IsDBNull(dr[i]))
                        {
                            sw.Write(dr[i].ToString());
                        }
                        if (i < ColumnsCount - 1)
                        {
                            sw.Write(GetSeparator());
                        }
                    }
                    sw.Write(sw.NewLine);
                }

                #endregion

                sw.Close();
            }
            catch (Exception e)
            {
                throw e;
            }
        }
mercredi 19 mars 2008 à 13:47:09 | Re : export datagridview vers csv, problème TRES BIZARRE

Arthenius

Membre Club
Réponse acceptée !

l'assitant d'ouverture de fichier csv ce lance pas a l'ouverture du csv ??

je ne pense pas que le pb vient de ton fichier csv, mais de la maniere par laquel tu ouvre ce csv sous excel
(deja eu ce pb)
pour le resoudre, lance excel, fais ficheir ouvrir et cherche ton csv
du coup un assistant doit ce lancer

suivnat point virgule suivant suivnat et voila c'est fini



Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."

mercredi 19 mars 2008 à 16:22:59 | Re : export datagridview vers csv, problème TRES BIZARRE

ericdu93

okay, justement je me suis résolu à utiliser l'assistant pour résoudre ce souci de colonne.

J'ai fait des recherches sur le net, j'ai vu que ça pouvait être dû au format d'encodage, j'ai donc testé les différents formats (UTF8, unicode, UTF16) finalement ça n'a pas été concluant.

Merci pour ta réponse tout de même.


Cette discussion est classée dans : dt, write, csv, dr, if


Répondre à ce message

Sujets en rapport avec ce message

Construire un fichier CSV & problème de guillemets [ par rbidocho ] Bonjour,Dans le programme que je refais en C# (avant en VB.Net), je souhaite écrire dans un fichier csv (avec réellement des virgules comme séparateur Pb avec DataRow [ par ahikaz ] Salut,J'ai un problème avec ce bout de code qui me semble correcte (le compilateur ne signe pas d'erreurs)-------------------------DataTable dt = <fon Comment retirer des caractères indésirables d'un fichier CSV [ par PascalCmoa ] Bonjour à tous, J'ai un petit problème sur la conception d'un fichier CSV. A chaque fois que mon code implémente le fichier nom_Fichier.csv, un carac importer un fichier .cvs dans une data table [ par chalmyl ] Salut!! J'essai de loader un fichier .csv dans une data table. Je suis très nouvelle à tout ceci. J'ai pris un exemple sur ce site mais ça ne fonct connexion [ par soniafeki ] Bonjour je travaille en c# et je veux savoir si une connecxion c'est bien effectuer c'est a dire su je donne le nom d'une base de donne et je demande Sortir de la méthode bloquante write de SerialPort [ par DaniMelo59 ] Bonjour,A partir d'une form, je démarre une émission d'un message sur un port COM via SerialPort.J'instancie un thread qui s'occupe d'emmettre.SerialP Hook sur le bouton droit de la souris [ par cirtey ] Bonjour; Environnement : winforms C# .NET 3.5 Un client me demande d'interdire le copier coller et l'impression écran lorsque l'application que je doi pb Condition if [ par alexis02 ] Bonjour, j'ai réalisé un programme en C# avec visual studio 2008 et j'ai rencontré un petit probléme : explication: j'ai donc un test de type if a fai backup database sql server 2000 d'un serveur distant [ par adsana ] bonjourj'ai besoin de me connecter à chaque à un serveur distant et de faire un backup du base de donnée que j'ai déjà créé,bon j'ai déjà réussi avec debutant : compter des chaines de caracteres avec les regex - chaine non reconnu [ par crewdelice ] je dois compter le nombre de chaines "[[IF" dans une chaine principale, mais les "[[" ne sont pas reconnu avez vous une solution?static void Main(stri


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,352 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales