25 Stimmen

Konvertiere Excel-Dokument (xls) in eine plist

Ich habe eine ziemlich einfache Excel-Tabelle und muss die Daten in einer iPhone-App verwenden. Das xls-Dokument hat 6 Spalten und > 200 Zeilen.

Ich möchte gerne eine plist aus dem xls-Dokument erstellen. Wie kann ich eine in die andere programmgesteuert umwandeln?

1voto

Anton Malmygin Punkte 3196

Für mein Anliegen muss ich einfach eine CSV-Datei mit zwei Spalten in eine plist-Datei umwandeln. Die erste Spalte sind Schlüssel und die zweite sind Werte. Deshalb habe ich den Code von Danilo Campos leicht geändert:

CSVParser *parser = [CSVParser new];
[parser openFileWithPath:pathAsString];
NSMutableArray *csvContent = [parser parseFile];
[parser closeFile];

if (pathAsString != nil)
{
    NSMutableDictionary *plistOutputArray = [NSMutableDictionary dictionary];

    for (NSArray *array in csvContent)
    {
        NSString *key = (NSString *)([array objectAtIndex:0]);
        NSString *value = (NSString *)([array objectAtIndex:1]);

        [plistOutputArray setObject:value forKey:key];
    }

    NSMutableString *mutableString = [NSMutableString stringWithString:pathAsString];
    [mutableString replaceOccurrencesOfString:@".csv" withString:@".plist" options:nil range:NSMakeRange([mutableString length]-4, 4)];

    NSURL *url = [NSURL fileURLWithPath:mutableString];

    [plistOutputArray writeToURL:url atomically:YES];
}

P.S. Seinen ursprünglichen Quellcode finden Sie hier - http://code.google.com/p/danilobits/source/checkout Bitte beachten Sie, dass Sie "Base SDK" in "Latest OS X" ändern müssen, um seinen Code jetzt zum Laufen zu bringen.

1voto

larva Punkte 4582

Verwenden Sie http://shancarter.github.io/mr-data-converter/, um xls in ein Json umzuwandeln (einfach kopieren & einfügen) (kann neu formatiert werden, indem Leerzeichen in http://jsonviewer.stack.hu/ entfernt werden). Speichern Sie das JSON in einer Textdatei mit dem Namen: in.json.

Verwenden Sie den Befehl plutil, um JSON zu plist zu formatieren

plutil -convert xml1 in.json -o out.plist

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X