CSV Daten verwenden


Sie können in todo4teams Hilfsdaten aus CSV-Dateien bereitstellen und in Ihren Skripten auswerten. CSV-Dateien enthalten tabellarische Daten, vergleichbar einfachen Excel-Tabellen. Sie können jede Excel-Tabelle im CSV-Format speichern.

Die folgenden Funktionen bieten sich dazu an, Nachschlage-Funktionen in todo4teams zu realisieren. Stellen Sie sich zum Beispiel vor, Sie haben eine Tabelle erstellt, die in einer zweispaltigen Ansicht mehreren Hundert Produktnamen die Namen der zehn Teams zuordnet, an die die jeweiligen Service-Anfragen geleitet werden sollen.

Den Inhalt dieser CSV-Datei speichern Sie in todo4teams im Abschnitt „Server-Einstellungen“, in dem Sie als Schlüssel „ProduktZuGruppeCSV“ eingeben und den Dateiinhalt in das Feld „Wert“ kopieren.

Das folgende Beispiel erzeugt aus dieser Server-Einstellung einen sogenannten CSV-Cache und liest anschließend den Namen des Teams zu einem Produktnamen aus dem CSV-Inhalt.

// Prüfen, ob der CSV-Cache bereits existiert:
if(helper.getCsvDataCache("myCache")==null)
{
   // CSV-Cache mit dem Namen myCache erzeugen:
   helper.createCsvDataCacheFromString("myCache", helper.getServerPropertyByName("ProduktZuGruppeCSV"));
}

// CSV-Cache ermitteln:
var cache = helper.getCsvDataCache("myCache");

// Suche nach dem Wort produktname in der ersten Spalte der Tabelle
// und Rückgabe des Wertes aus der Spalte mit dem Titel „Gruppe“:
var gruppe = cache.getLookupContainsValue(produktname,"Gruppe");
println("Gruppe :  "+gruppe);

Die Funktionen im einzelnen:
Erzeugt einen CSV-Cache aus den CSV-Daten in der Zeichenkette csvData und speichert ihn unter dem Namen cacheName.
public void createCsvDataCacheFromString(String cacheName, String csvData)

Erzeugt einen CSV-Cache durch Laden der CSV-Daten aus einer URL (z.B. http://fileserver/daten/produkte.csv oder file://home/daten/produkte.csv) und speichert ihn unter dem Namen cacheName.
public void createCsvDataCacheFromUrl(String cacheName, String url,int expiryInterval)

Ermittelt einen CSV-Cache. Mit dem Namen cacheName. Falls noch kein Cache mit diesem Namen erzeugt wurde , wird null zurückgeliefert.
public CsvDataCache getCsvDataCache(String cacheName)

Methoden des CsvDataCache-Objektes:
Sucht eine Zeile der CSV-Datei in diesem Cache, die in der ersten Spalte den Wert lookup enthält und liefert den Zeilen wert aus der Spalte zurück, die in der ersten Zeile den Wert (Spaltennamen) column hat.
CsvDataCache.getLookupContainsValue(String lookup, String column)

Wenn man den obigen Code nun mit folgender Excel-Datei ablaufen läßt, wird „Service-Software“ als Ergebnis geliefert.

CSV-Datei:

Produktname Gruppe 
 AX-500 Service-Hardware
 CF-Plus Service-Software
 FG-150 Kundendienst

Wie getLookupContainsValue(), allerdings wird hier lookup exakt mit dem Spalteninhalt verglichen.
CsvDataCache.getLookupValue(String lookup, String column)