IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

probléme format lors de copie presse papier vers excel


Sujet :

C#

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2004
    Messages : 161
    Points : 105
    Points
    105
    Par défaut probléme format lors de copie presse papier vers excel
    Bonjour
    j'ai un problème lorsque je copie le contenu du presse papier vers excel
    en fait,pour le moment je copie avec CTRL+V en attendant de trouvé une solution a sa mais mon principale problème est que lorsque je copie des données du genre 1-1, excel m'affiche 1-janvier! la solution a sa et d'écrire '1-1 ,certes j'aurais bien 1-1 lorsque je modifie la valeurs directement sur excel mais quand j'acrit '1-1 dans le presse papier et je copie dans excel j'ai bien dans la cellule excel '1-1 chose que je trouve désagreable a voir voici le peti bout de code que j'ai utilisé;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    string value;                
                    StringBuilder SB = new StringBuilder();                
                    int t = 0;
     
                    foreach (DataRow row in tb.Rows)
                    {
                        if (t == 0)
                        {
                            foreach (DataColumn column in tb.Columns)
                            {
                                value = column.Caption.ToString();
                                SB.AppendFormat("{0}\t", value);
                            }
                            t = 1;
                        }
                        SB.AppendLine();
                        foreach (DataColumn column in tb.Columns)
                        {                        
                            value = row[column].ToString();
                            value = "'" + value;
                            SB.AppendFormat("{0}\t", value);
                        }
                        Clipboard.SetText(SB.ToString());
                    }       
                }
    quelqu'un pourrait me filer un coup de main svp?
    salutations

  2. #2
    Membre régulier
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2004
    Messages : 161
    Points : 105
    Points
    105
    Par défaut
    re
    j'ai remarquer que dans excel il faut changer le format de la cellule en texte puis quand j'enlève le caractère ' j'ai les valeurs attendu soit 1-1 par exemple;
    je pourrais faire un autre traitement après que le contenu du presse papier soit copier dans excel mais je voudrais savoir est ce qu'il y a un moyen de convertir le format lors de la copie vers excel?

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juillet 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2004
    Messages : 161
    Points : 105
    Points
    105
    Par défaut
    c'est bon j'ai trouvé
    pour ceux qui sont intéréssé j'ai copier le contenu de la datatable dans un tableau 2 dimensions;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    private object[,] DataTableToArray(DataTable dt)
            {
                string[,] rawData = new string[dt.Rows.Count + 1, dt.Columns.Count];
     
                // Copy the column names to the first row of the object array
                for (int col = 0; col < dt.Columns.Count; col++)
                {
                    rawData[0, col] = dt.Columns[col].ColumnName;
                }
     
                // Copy the values to the object array
                for (int col = 0; col < dt.Columns.Count; col++)
                {
                    for (int row = 0; row < dt.Rows.Count; row++)
                    {
                        rawData[row + 1, col] = dt.Rows[row].ItemArray[col].ToString();
                    }
                }
                return rawData;
            }
    puis j'ai collé dans excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Excel.Worksheet ActSheet = Globals.ThisAddIn.Application.Sheets[a] as Excel.Worksheet;
    Excel.Range xlsRange = ActSheet.get_Range("A1", Type.Missing);
                        xlsRange = xlsRange.get_Resize(tb.Rows.Count, tb.Columns.Count);
                        xlsRange.Value2 = DataTableToArray(tb);
    Voila salutations

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. presse-papiers vers table
    Par jdsetls dans le forum WinDev
    Réponses: 12
    Dernier message: 10/05/2014, 09h56
  2. Réponses: 1
    Dernier message: 15/10/2008, 13h39
  3. Réponses: 1
    Dernier message: 26/11/2007, 17h45
  4. Réponses: 4
    Dernier message: 06/11/2007, 14h49
  5. Copie de Textbox vers Excel
    Par Flateric dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/05/2005, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo