Question

Je vais avoir des exemples de temps heckuva trouver tout code C # en utilisant la bibliothèque MPXJ lors de la connexion à un fichier Microsoft Project. Quelqu'un peut-il s'il vous plaît poster un extrait montrant comment écrire le contenu d'une table dans un fichier .mpp à l'écran?

Les points bonus pour tous les liens / références!

Merci!

~ Dan

Était-ce utile?

La solution

Espérons que cela aide.

Vous devez d'abord ouvrir votre fichier de projet:

ProjectReader reader = ProjectReaderUtility.getProjectReader(inputFile);
ProjectFile projectFile = reader.read(inputFile);

Cela suppose que vous avez un nom de fichier dans la chaîne INPUTFILE.

La méthode ci-dessous doit être traité comme pseudo-code (c.-à-je n'ai pas compilé, secoué les bugs sur et ainsi de suite, et ce n'est pas la chose la plus élégante que j'ai jamais écrit), mais il illustre l'approche:

public void dumpTables(ProjectFile file)
{
    List tables = file.getTables();
    Iterator iter = tables.iterator();
    while (iter.hasNext())
    {
        Table table = (Table)iter.next();
        if (table.getResourceFlag())
        {
            List resources = file.getAllResources();
            Iterator resourceIter = resources.iterator();
            while (resourceIter.hasNext())
            {
                Resource resource = (Resource)iter.next();
                List columns = table.getColumns();
                Iterator columnIter = columns.iterator();
                while (columnIter.hasNext())
                {
                    Column column = (Column)columnIter.next();
                    Object columnValue = resource.getCachedValue(column.getFieldType());
                    Console.Write(columnValue);
                    Console.Write(",");
                }
                Console.WriteLine();
            }
        }
        else
        {
            List tasks = file.getAllTasks();
            // etc. as above
        }
    }
}

L'idée est que vous récupérez la liste des tables présentes dans le fichier, et pour chacun de travailler si elle est une table de travail ou de ressources. Sur la base de ce que vous prenez la liste des tâches ou des ressources, itérer sur cela, et pour chaque traction par exemple la valeur de la colonne et de l'afficher. Notez que je ne l'ai pas fait toute tentative d'ordonner les tâches ou les ressources d'une manière particulière. Je vais laisser cela comme un exercice pour le lecteur!

L'espoir qui aide!

Jon

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top