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

Windows Forms Discussion :

[VB.NET] [excel] Colonne excel


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut [VB.NET] [excel] Colonne excel
    bonjours voila je voudrais depuis ma base de donnée sqlserver copieur pouvoir remplir une colonne dans excell avec un champ j ai bien ma connexion dataset dataadapter mais je ne sais pas comment faire pour balance mon champ dans la colonne complete merci de votre aide par avance

  2. #2
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    En gros tu veux remettre un tableau dans Excel?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    en fait par exemple un champ nom_four je voudrais qu il remplisse toute la clonne a par exemple

  4. #4
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Avec une boucle je sais... Sans boucle je sais pas si c'est possible :s

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    en fait je sais aps comment faire si tu peu me donner un peu de code ou m expliquer la marche pas à suivre suis tout ouie

  6. #6
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Ceci dit y a le meme sujet dans un post de vendredi je pense...

    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
    27
     
    			object oMissing= System.Reflection.Missing.Value;
     
    			Excel.Application appXls = new Excel.ApplicationClass();
    			appXls.Visible = false;
    			string filename = @"c:\VlvDevis\Export4.xlt";
    			Excel._Workbook Classeur = appXls.Workbooks.Open(filename, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
    			Excel._Worksheet Feuille = (Excel._Worksheet) Classeur.ActiveSheet;
     
    			int line = 6;
    			foreach (Task tache in taches)
    			{
    				if (tache != null)
    				{
    					if (Type == 2)
    						Feuille.Cells[line, 1] = tache.dateTache.ToString("HH:mm");
    					else
    						Feuille.Cells[line, 1] = tache.dateTache.ToString("dd/MM/yyyy HH:mm");
    					Feuille.Cells[line, 2] = tache.numDevis.ToString();
    					Feuille.Cells[line, 3] = tache.Tache;
    					line++;
    				}
    			}
     
    			Feuille.Columns.AutoFit();
     
    			appXls.Visible = true;

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    j arrive pas asaisir ce code comment puis je faire une fois ma conneixon etabli pour pouvoir recuperer mon champ et le balancé dans excel?

  8. #8
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    A l'aide d'un DataReader par exemple.

    Un autre exemple (pas performant du tt!!) mais ca montre bien ce que tu veux:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    			OleDbConnection oConn;
    			OleDbCommand oCmd;
     
    			object oMissing= System.Reflection.Missing.Value;
     
    			Excel.Application appXls = new Excel.ApplicationClass();
    			appXls.Visible = false;
    			StatusBarAccess.Executing = "Exportation de la liste des devis vers Excel en cours...";
    			//Excel._Workbook Classeur = appXls.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
    			string filename = @"c:\VlvDevis\Export.xlt";
    			Excel._Workbook Classeur = appXls.Workbooks.Open(filename, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
    			Excel._Worksheet Feuille = (Excel._Worksheet) Classeur.ActiveSheet;
     
    			oConn=new System.Data.OleDb.OleDbConnection();
    			oConn.ConnectionString=MainFrame.strConn;
    			oCmd=new System.Data.OleDb.OleDbCommand();
    			oCmd.Connection=oConn;
    			oCmd.CommandText=strCmd;
    			oConn.Open();
    			OleDbDataReader dr = oCmd.ExecuteReader();
    			int nLine=5;
    			int DernierMontant = -999999;
    			string DerniereAffaire = "DeniereAffaire";
    			while (dr.Read())
    			{
    				if (Convert.ToInt32(dr["Montant"]) >= DernierMontant * 0.9 && Convert.ToInt32(dr["Montant"]) <= DernierMontant * 1.1 && dr["Affaire"].ToString() == DerniereAffaire)
    				{
    					Feuille.Cells[nLine-1, 4] = "[...]";
    				}
    				else
    				{
    					DerniereAffaire = dr["Affaire"].ToString();
    					DernierMontant = Convert.ToInt32(dr["Montant"]);
    					string Content = "";
    					for (int nCol=0; nCol < 8; nCol++) //dr.FieldCount
    					{	
    						Content = dr[nCol].ToString();
    						if (nCol == 3)
    						{
    							Content = Content.Replace("Monsieur", "M");
    							Content = Content.Replace("Madame", "Mme");
    							if (Content.Length > 0)
    								Content = Content.Remove(0, 1);
    						}
    						if (nCol == 6)
    						{
    							Content = Content.Substring(0, Content.Length-9);
    						}
    						if (Content != "")
    							Feuille.Cells[nLine, nCol+1] = Content;						
    					}
    					nLine++;
    				}
    			}
    			oConn.Close();
     
    			Feuille.Columns.AutoFit();
    			Title(Feuille, "Liste de devis sélectionnés");
    			string Tmp = "Critères de sélection: ";
    			foreach (string critere in MainFrame.Criteres)
    			{
    				if (critere != "Aucun critère de sélection.")
    					Tmp += critere + ", ";
    			}
    			Title(Feuille, "Liste des devis sélectionnés");
    			Description(Feuille, Tmp);
     
    			StatusBarAccess.Executing = "Exportation de la liste des devis vers Excel terminée";
    			appXls.Visible = true;
    Attention il reste des choses qui ne te serviront pas mais j'ai pas envie de décortiquer le tout

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    te remerci vais tester ton code et te redis dans la journée

  10. #10
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par mikolirto
    te remerci vais tester ton code et te redis dans la journée
    Pas de probleme.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    bon j ai essayé ton code je n arrive pas a le faire fonctionner alors j ai essaye ca

    _______________________________________


    Dim ds As New DataSet
    Dim da As New System.Data.SqlClient.SqlDataAdapter
    Dim Connexion As New System.Data.SqlClient.SqlConnection
    Dim MyCommand As New System.Data.SqlClient.SqlCommand

    Connexion.ConnectionString = MaChaineConnexion
    MyCommand.Connection = Connexion

    MyCommand.CommandText = "SELECT * FROM FOURNISSEUR"
    da.SelectCommand = MyCommand
    da.Fill(ds, "FOURNISSEUR")

    Try
    Connexion.Open()
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try


    MessageBox.Show("ca fonctionne")
    Try
    Connexion.Close()
    Catch ex As Exception
    MessageBox.Show(ex.Message)
    End Try

    'Créer un fichier excel
    'Définir une applciation excel
    Dim xlApp As Excel.Application
    'Déclarer un classeur
    Dim xlBook As Excel.Workbook
    'Déclarer une feuille
    Dim XlSheet As Excel.Worksheet


    xlApp = New Excel.Application
    xlBook = xlApp.Workbooks.Add
    XlSheet = CType(xlBook.Worksheets(1), Excel.Worksheet)
    'Application excel caché à l'utilsateur
    xlApp.Visible = False
    'Ecire dans la feuille choisir la cellule ici A1
    >>>>>>> xlApp.Sheets(1).range("A1").value = ds.Tables
    ("FOURNISSEUR").Rows.Item("ID_FOUR").
    xlApp.Sheets(1).range("A2").value = "TONTEXTE2"
    xlApp.Sheets(1).range("A3").value = "TONTEXTE3"
    'Sauvegarde du fichier
    XlSheet.SaveAs("C:\Documents and Settings\michael\bureau\mike.xls")
    'Ferme le classeur
    xlBook.Close()
    'Quitte excel
    xlApp.Quit()


    l erreur arrive a la ligne ou y a les >>>> me met cast invalid si tu peu m aider merci

  12. #12
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Tu essayes de mettre DES tableaux au sens VB.NET dans une cellule.

    Soit tu veux mettre le nombre (par ex) et cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ds.Tables.Count.ToString()
    ou je sais pas ce que tu veux

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    m indique plus d erreur quand je met ta ligne a la place de la mienne il
    me mets simplement le chiffre un j aimerais bien qu il me mette au moins le premier nom de fournisseur tu peu peu etre m aider

  14. #14
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par mikolirto
    m indique plus d erreur quand je met ta ligne a la place de la mienne il
    me mets simplement le chiffre un j aimerais bien qu il me mette au moins le premier nom de fournisseur tu peu peu etre m aider
    Ton probleme n'est pas la comprehension de l'utilisation d'Excel mais bien des DataSet... Je pense qu'un petit cours d'ADO.NET serait le bienvenu.

    Sinon ben

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Sheets(1).range("A1").value = ds.Tables("FOURNISSEUR").Rows.Item("ID_FOUR").ToString()
    ton probleme etait que

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Sheets(1).range("A1").value = ds.Tables("FOURNISSEUR").Rows.Item("ID_FOUR")
    renvoie un object alors qu'Excel attend un string.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    en mettant ta ligne me met toujours l erreur du cast lors du item il me demande un integer ca doit venir de la le pb

  16. #16
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Citation Envoyé par mikolirto
    en mettant ta ligne me met toujours l erreur du cast lors du item il me demande un integer ca doit venir de la le pb
    Un int???

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ds.Tables.Count.ToString()
    Ca c'etait deja un string...

    Je ne comprends pas ce que tu veux dire...

    Ceci dit je pense qu'il y a parfois des problemes avec des Range.

    Peut etre serait il mieux d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Sheets(1).Cells(1, 1) = "Test";

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    dans la case 1 1 il m affiche bien test ca c est ok

  18. #18
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Sheets(1).Cells(1, 1) = ds.Tables("FOURNISSEUR").Rows.Item("ID_FOUR").ToString()
    et ca ca fonctionne?

    Si non, essayes un peu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xlApp.Sheets(1).Cells(1, 1) = ds.Tables(1).Rows.Item(1).ToString()

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 40
    Par défaut
    la premiere ligne ne fonctionne toujours pas par contre la deuxieme me met un message d erreur ne trouve pas la table 1

  20. #20
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Par défaut
    Mets des 0 au lieu des 1. Je pensais qu'on comptait à partir de 1 en VB.NET

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [CR XI] Export Excel - colonne fusionnés - VB.NET 2003
    Par biboup dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 20/12/2011, 15h54
  2. Réponses: 5
    Dernier message: 03/06/2011, 12h57
  3. Couper/Coller Cellule/Colonne Excel depuis VB.NET
    Par Florian54 dans le forum VB.NET
    Réponses: 3
    Dernier message: 08/03/2011, 20h47
  4. [VB.NET] [excel] Pb remplir colonne excel
    Par mikolirto dans le forum Windows Forms
    Réponses: 3
    Dernier message: 01/04/2005, 14h55

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