Frage

Ich bin eine heckuva Zeit mit der Suche nach allen C # Codebeispielen der MPXJ Bibliothek verwenden, wenn auf eine Microsoft Project-Datei zu verbinden. Kann jemand bitte einen Ausschnitt zeigt, wie poste den Inhalt einer Tabelle in einer MPP-Datei auf Bildschirm?

schreiben

Bonuspunkte für Links / Referenzen!

Danke!

~ Dan

War es hilfreich?

Lösung

Dies wird hoffentlich helfen.

Zuerst müssen Sie die Projektdatei öffnen:

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

Dies setzt voraus, dass Sie einen Dateinamen in der Eingabedatei String haben.

Das Verfahren unten sollte als Pseudo-Code behandelt werden (dh ich habe es nicht kompiliert, die Fehler geschüttelt es aus und so weiter, und es ist nicht das eleganteste, was ich je geschrieben habe), aber es zeigt den Ansatz:

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
        }
    }
}

Die Idee ist, dass Sie die Liste der Tabellen in der Datei abrufen, und für jede Arbeit aus, wenn es sich um eine Aufgabe oder Ressourcentabelle. Auf dieser Basis werden Sie die Liste der Aufgaben oder Ressourcen greifen, durchläuft das, und für jede Instanz ausziehbaren den Spalt Wert und zeigen sie an. Beachten Sie, dass ich habe keinen Versuch gemacht, die Aufgaben und Ressourcen in einer bestimmten Art und Weise zu bestellen. Ich lasse das als eine Übung für den Leser!

Ich hoffe, das hilft!

Jon

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top