Преобразуйте документ Excel (xls) в plist

вынудите себя нет. путь к любви мастерства.

25
задан Mogsdad 6 April 2016 в 15:17
поделиться

2 ответа

Я опаздываю на вечеринку, но я создал настольную утилиту, которая конвертирует CSV в plist. Вы можете загрузить двоичный файл или использовать этот код, для которого требуется cCSVParse . Он использует все, что находится в строке 0, для создания имен ключей, а затем генерирует словари для каждой последующей строки.

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

if (pathAsString != nil)
{

    NSArray *keyArray = [csvContent objectAtIndex:0];

    NSMutableArray *plistOutputArray = [NSMutableArray array];

    NSInteger i = 0;

    for (NSArray *array in csvContent)
    {



        NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];

        NSInteger keyNumber = 0;

        for (NSString *string in array)
        {

            [dictionary setObject:string forKey:[keyArray objectAtIndex:keyNumber]];

            keyNumber++;

        }

        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];
47
ответ дан 28 November 2019 в 17:37
поделиться

Вы можете сделать это, используя простую формулу, которую вы скопируете и вставите в столбец рядом с каждой из ваших 200+ строк.

Например, предположим, что столбец A содержит список имен, и столбец B содержит соответствующий набор возрастов, вы можете использовать следующую формулу, чтобы получить большую часть XML для словаря на основе списка.

=CONCATENATE("<key>Name</key><string>", A1,"</string><key>Age</key><integer>",B1,"</integer>")

Затем вы выбираете все ячейки в этом новом столбце, которые вы можете скопировать и вставить в блокнот или другой текстовый редактор, чтобы сохранить его как файл plist (вы можете поместить некоторый жестко закодированный текст в ячейку выше и ниже ваших 200+ строк, чтобы получить необходимые теги и т. д.)

39
ответ дан 28 November 2019 в 17:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: