擅长ploco转换cocoa,反之亦然

我想从一个excel文件创build一个plist文件。 定义了excel和plist的结构。 Excel文件只有两列,一列是“键”,另一列是对应的“值”列。 所以将会产生的最后一个plist的forms是:

<key>keyString1</key> <string>valueString1</string> <key>keyString2</key> <string>valueString2</string> <key>keyString3</key> <string>valueString3</string> ............................. ............................. ............................. <key>keyStringn</key> <string>valueStringn</string> 

现在问题是“键”和“值”的string值是inturnstring,即它们不是一个string。 他们可能不止一行。因此我不能在这里使用csv文件结构。

需要你的紧急帮助。

请build议如何从Excel表格中读取值,以便两列值可以分开。任何示例代码都会添加帮助。

我通过在excel中编写一个公式来完成这一任务,以便为您创buildplist文件的文本。 它很容易。

1)(可选)在XCode中,创build一个具有所需格式的plist。 保存,并find这个发现者。 在textWrangler或文本编辑器中打开它,以便您可以看到plist中每个元素的标签。

例如,你应该find像这样的东西:

 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>First Key Name</key> <array> <string>Before God we are all equally wise</string> <string></string> <string>Albert Einstein</string> <integer>0</integer> </array> <key>Second Key Name</key> <array> <string>Do not worry about your troubles.</string> <string></string> <string>Albert Einstein</string> <integer>0</integer> </array> </dict> </plist> 

2)我将假设: – 您的电子表格代表了许多行/对象/级别的相同4个属性的描述 – 您将每个数组作为电子表格中的单独一行 – 针对同一顺序中的每一行描述相同的属性。 – 您将能够通过知道它们存储在哪个索引来访问数组中的项目。 即,我将通过查找索引2中的第二个数组来获得第二个作者。

你的电子表格应该是这样的:

  ABCDEF /--(Key Names)--\/-------------------(Properties of Each)-----------------\ 1 Level Name | Quote | Notes | Author | Favorited | ____________________________________________________________________________ 2 First Key Name | Before God... | | Albert Einstein | 0 | 3 Second Key Name | Do not wor... | | Albert Einstein | 0 | . . . 

所以我的每个对象都会在我的字典中得到自己的键,每个对象都由3个string和一个整数来描述。

3)公式

在电子表格最后一列的右侧,我将编写一个公式,为该行生成xml代码:

 (F2) = CONCATENATE ("<key>",A2,"</key> <array> <string>",B2,"</string> <string>",C2,"</string> <string>",D2,"</string> <integer>",E2,"</integer> </array>") 

将此单元格的右下angular拖到所有其他行中,它们将自动填充每行的信息。

同样,在电子表格底部的所有行中,您可以使用另一个公式来连接行。 假设你有300行:

 (F4) = CONCATENATE (F2:F300) 

现在将这些数据复制到一个文本文件中,然后添加最后几个标签和doctype信息,您可以从上面复制这些信息。 保存与扩展名.plist,你很好去! 将文件添加回你的xcode项目并像其他任何plist一样加载。

要将数据从Excel导出到文本文件,请使用“另存为”命令。

有两种常用的文本文件格式:

分隔文本文件(.txt),其中TAB字符(ASCII字符代码009)通常分隔文本的每个字段。

逗号分隔值文本文件(.csv),其中逗号字符(,)通常分隔每个文本字段。

您可以更改使用的分隔符。

http://office.microsoft.com/en-us/excel-help/import-or-export-text-txt-or-csv-files-HP010099725.aspx#BMchange_the_delimiter_that_is_used_in_