none
Créer une arborescence de dossier dans Sharepoint 2010 à partir d'un fichier excel RRS feed

  • Question

  • Bonjour, 

    j'ai un fichier excel qui comporte le nom de plusieurs dossiers et sous dossiers, et je veux automatiser la création de ces dossiers dans mon site sharepoint 2010, et je sais pas si je dois développer une Webpart ou bien il y'a un autre moyen, Help meee :d 

    lundi 13 mai 2013 17:00

Réponses

  • Bonjour à vous, 

    Vous ne pouvez pas le faire sur un SPListItem mais sur un SPListItemCollection:

    http://msdn.microsoft.com/en-us/library/dd587325(v=office.11).aspx

    Ainsi vous pouvez tout simplement faire un

    enregistreur.ListItems.Add(folder);

    Bonne continuation,

    valentin


    Mon blog sur SharePoint
    Site du Groupe AFG
    viadeo  twitter  linkedin

    MCP | Microsoft Certified Professional - SharePoint 2010 Administrator

    vendredi 17 mai 2013 16:56
  • Bonjour Valentin,

    Finalement j'ai réussi à le faire :d, Merci de votre aide.

    La tâche suivante c'est que je dois enregistrer cette arborescence comme un Template ou bien un modèle pour que je puisse mettre cette arborescence dans n'importe quelle liste dans mon site sharepoint.

    mercredi 22 mai 2013 13:45

Toutes les réponses

  • Bonjour à vous,

    Avez vous des notions en powershell ?

    Vous pouvez prendre votre probléme de plusieurs façon:

    - faire un script powershell qui va récupérer les nom des dossiers et sous dossier et faire la création sur votre SharePoint. Cette solution est ma préférée personnellement...

    - passer par une macro excel pour parcourir vos row et faire les ajouts dans votre SharePoint via cette macro (beaucoups moins sympa à mon gout :D)

    Sachez que nous pouvons vous aider si vous avez besoin.

    Bon courage

    valentin


    Mon blog sur SharePoint
    Site du Groupe AFG
    viadeotwitter

    MCP | Microsoft Certified Professional - SharePoint 2010 Administrator

    mardi 14 mai 2013 09:02
  • Bonjour Valentin,

    Je vous remercie pour votre réponse.

    je vais voir si je pourrai résoudre mon problème avec ces indices que vous m'avez donné :d, sinon je demanderai encore votre aide :D.

    Merci beaucoup

    mardi 14 mai 2013 14:29
  • Bonjour,

    très bien dans ce cas j'attends votre retour,

    Autre piste également, mapper le dossier de destination sharepoint dans votre poste de travail en tant que lecteur réseau, faire une macro pour creer récurssivement l'arborescence de dossier.

    Bon courage,

    valentin


    Mon blog sur SharePoint
    Site du Groupe AFG
    viadeotwitter

    MCP | Microsoft Certified Professional - SharePoint 2010 Administrator

    mercredi 15 mai 2013 09:12
  • Bonjour,
    Finalement j'ai pensé à une autre solution en c#, c'est que je vais lire le fichier CSV et en même temps créer les dossiers, le seul souci c'est que j'arrive pas à mettre dans un tableau de SPListItem un element de type SPListItem (l'erreur est dans la ligne qui commence par * :D)
    string[] parts;
                     int nbr;
                     int i = 0;
                    using (SPWeb web = site.OpenWeb())
                    {
                        web.AllowUnsafeUpdates = true;

                        //Get the List
                        SPList list = web.Lists["excel liste"];
                        SPListItem[] enregistreur;
                        
                        

                        foreach (string line in File.ReadAllLines("C:\\ADM.csv"))
                        {
                            parts = line.Split(';');
                            nbr = parts.Length;
                            if (parts[i] != "" && i==0 )
                            {
                                SPListItem folder = list.AddItem(list.RootFolder.ServerRelativeUrl, SPFileSystemObjectType.Folder, parts[i]);
                                folder.Update();
    ***                            enregistreur[0] = folder;
                            }
                            for (i = 0; i < nbr; i++)
                            {
                                if (parts[i] != "" && i != 0)
                                {
                                    SPListItem SubFolder = list.AddItem(enregistreur[i-1].Folder.ServerRelativeUrl, SPFileSystemObjectType.Folder,parts[i]);
                                    SubFolder.Update();
                                    enregistreur[i] = SubFolder;
                                }
                            }
                        }
                    }
                }
            } 
    jeudi 16 mai 2013 17:10
  • Bonjour à vous, 

    Vous ne pouvez pas le faire sur un SPListItem mais sur un SPListItemCollection:

    http://msdn.microsoft.com/en-us/library/dd587325(v=office.11).aspx

    Ainsi vous pouvez tout simplement faire un

    enregistreur.ListItems.Add(folder);

    Bonne continuation,

    valentin


    Mon blog sur SharePoint
    Site du Groupe AFG
    viadeo  twitter  linkedin

    MCP | Microsoft Certified Professional - SharePoint 2010 Administrator

    vendredi 17 mai 2013 16:56
  • Bonjour,

    Merci pour votre réponse, je trouve pas ListItems dans enregistreur même s'il est de type ListItemCollection !

    sinon j'ai pas bien compris :D

    lundi 20 mai 2013 16:46
  • Bonjour Valentin,

    Finalement j'ai réussi à le faire :d, Merci de votre aide.

    La tâche suivante c'est que je dois enregistrer cette arborescence comme un Template ou bien un modèle pour que je puisse mettre cette arborescence dans n'importe quelle liste dans mon site sharepoint.

    mercredi 22 mai 2013 13:45