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?

47voto

Danilo Campos Punkte 6430

Ich bin spät zur Party gekommen, aber ich habe ein Desktop-Dienstprogramm erstellt, das CSV in eine Plist konvertiert. Du kannst die Binärdatei herunterladen oder diesen Code verwenden, der cCSVParse benötigt. Es verwendet was auch immer in Zeile 0 steht, um Schlüsselnamen zu erstellen, und erstellt dann für jede nachfolgende Zeile Dictionaries.

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

if (pathAsString != nil)
{

    NSArray *schlüsselArray = [csvInhalt objectAtIndex:0];

    NSMutableArray *plistOutputArray = [NSMutableArray array];

    NSInteger i = 0;

    for (NSArray *array in csvInhalt)
    {

        NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

        NSInteger schlüsselnummer = 0;

        for (NSString *string in array)
        {

            [dictionary setObject:string forKey:[schlüsselArray objectAtIndex:schlüsselnummer]];

            schlüsselnummer++;

        }

        if (i > 0)
        {
            [plistOutputArray addObject:dictionary];
        }

        i++;

    }

    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];

39voto

Sie könnten dies mit einer einfachen Formel tun, die Sie neben jeder Ihrer über 200 Zeilen kopieren und einfügen.

Zum Beispiel, angenommen Spalte A eine Liste von Namen enthält und Spalte B eine passende Liste von Alter enthält, könnten Sie eine Formel wie die folgende verwenden, um den Großteil des XML für ein plist-basiertes Wörterbuch zu erhalten.

=VERKETTEN("Name", A1,"Age",B1,"")

Dann markieren Sie alle Zellen in dieser neuen Spalte, die Sie in den Notepad oder einen anderen Texteditor kopieren und einfügen können, um sie als plist-Datei zu speichern (Sie können einige fest codierte Texte in eine Zelle über und unter Ihren über 200 Zeilen einfügen, um die erforderlichen Tags usw. < zu erhalten...

26voto

scaryguy Punkte 7324

Damen und Herren,

Ich habe alle anderen empfohlenen Lösungen oben ausprobiert, aber aufgrund von Unicode-Zeichen in meiner Sprache (Türkisch) hat keines davon für mich funktioniert... Alle Unicode-Zeichen waren kaputt. Dann habe ich beschlossen, ein Tool dafür zu erstellen.

Ich präsentiere stolz den einfachsten Weg, um eine beliebige XLS-, XLSX- oder CVS-Datei in eine plist umzuwandeln:

http://exceltoplist.herokuapp.com/

Laden Sie einfach Ihre XLS, XLSX oder CSV hoch und laden Sie Ihre Apple Plist herunter!

Viel Spaß!

Hinweis: Aufgrund der kostenlosen Dyno-Richtlinie von Heroku kann es einige Zeit dauern, um die Seite zu laden. Warten Sie einfach 5-10 Sekunden, um die Seite zu öffnen.

4voto

Swaroop S Punkte 480

Für OpenOffice verwenden Sie diese Formel

=VERKETTEN("number"; A2;"MyString";B2;"")

1voto

Steve B Punkte 21

Ich fand das CONCATENATE für diese Aufgabe am besten zu funktionieren.

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