begin process at 2010 02 10 03:26:37
  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 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 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 Eternel séparateur point ou virgule [ par peug ] Bonjour, nouveau au C# je rencontre les problèmes que je connaissais en VB6. Pourtant je me rends compte que je developpe plus vite (Quizz, plus on vi Comment déplacer une picture box d'une case d'un TableLayoutPanel [ par vinzemuls ] Bonjour, voilà j'ai un problème avec ma TableLayoutPanel. J'ai créé une classe dérivée de la PictureBox pour gérer le drag and drop comme je le souhai Remplir certaines colonnes d'un datagridview depuis requete [ par jpbelmondo59 ] Bonjour à tous, J'ai dérivé un datagridview pour créer dynamiquement mon propre controle et je recherche comment remplir mes colonnes. Je passe par u Récupération de données dans oracle [ par Tsugero ] Bonjour, J'ai un problème avec la récupération du numéro de l'utilisateur. Par exemple ma requête est SELECT NUMERO FROM UTILISATEUR. Mais quand je f Erreur 400 - HTTPWebRequest [ par clemmat ] Bonjour, [u]Context :[/u] J'ai une application console qui charge un fichier et envoie le texte complet via HTTPWebRequest vers une procédure Oracle


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,468 sec (3)

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