25

私は非常に単純なExcelスプレッドシートを持っており、iPhoneアプリでデータを使用する必要があります。xlsドキュメントには6列、200行以上あります。

xlsドキュメントからplistを作成したいと思います。プログラムで一方を他方に変換するにはどうすればよいですか?

4

7 に答える 7

47

パーティーに遅れましたが、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];
于 2009-12-05T06:49:00.777 に答える
39

これは、200 行以上の各行の横にある列をコピーして貼り付ける単純な数式を使用して行うことができます。

たとえば、列 A に名前のリストが含まれ、列 B に一致する年齢のセットが含まれていると仮定すると、次のような数式を使用して、plist ベースの辞書のほとんどの XML を取得できます。

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

次に、この新しい列内のすべてのセルを選択し、コピーしてメモ帳または別のテキスト エディターに貼り付けて、plist ファイルとして保存できます (ハードコードされたテキストを 200 行以上のセルの上下に挿入すると、必要なタグなども取得します...

于 2009-10-23T03:02:18.420 に答える
26

皆様、

上記の他の推奨される解決策を試しましたが、私の言語 (トルコ語) の Unicode 文字のため、どれもうまくいきませんでした... すべての Unicode 文字がすべて壊れていました。それから私はこれのためのツールを作ることにしました。

XLS、XLSX、または CVS ファイルを plist に変換する最も簡単な方法を誇らしげに紹介します。

http://exceltoplist.herokuapp.com/

XLS、XLSX、または CSV をアップロードして、Apple Plist をダウンロードするだけです。

楽しみ!

注: Heroku の無料の dyno ポリシーにより、ページを閲覧するのに少し時間がかかる場合があります。ページが開くまで 5 ~ 10 秒待ちます。

于 2014-01-11T10:34:35.450 に答える
4

OpenOffice の場合、次の式を使用します

=CONCATENATE("<key>number</key><integer>"; A2;"</integer><key>MyString</key><string>";B2;"</string>")
于 2013-05-04T10:46:34.413 に答える
1

CONCATENATE がこれに最適であることがわかりました。

于 2011-10-26T01:31:24.027 に答える
1

http://shancarter.github.io/mr-data-converter/を使用して変換xlsします(コピーして貼り付けるだけです) ( http://jsonviewer.stack.hu/Jsonの空白を削除して再フォーマットできます)。json をin.jsonという名前のテキスト ファイルに保存します。

コマンドを使用plutilしてjsonをplistにフォーマットします

plutil -convert xml1 in.json -o out.plist
于 2015-04-20T02:31:38.563 に答える