Excel工作表到iPhone数据 – 点A到B点

尽可能简单:我有一个非常简单的Excel电子表格,只有超过1Klogging。 我想用它作为iPhone应用程序的静态数据源。

什么是最好的攻击计划?

我心中的可能性:

1)直接读取XLS作为数据源:是否有一个Obj-C库?

2)将XLS转换为Obj-C具有… CSV格式的格式? XML? 一些原生的CoreData格式?

3)将其导入MySQLish,只需从服务器获取XML源。

我需要一些帮助来解决这些问题。 我从来没有使用过Excel。

1会很好,2可能是我现在正在做的最好的解决scheme,3我相当知道如何做,但我不确定如果MySQL有一个XLS导入(我相信MSSQL)。

我曾经有过类似的问题。 我最终做的是编写一个简单的应用程序,它将一个CSV文件转换成一个Plist。 然后我在应用程序中根据需要使用Plist。 此代码使用cCSVParse 。 它将使用第一行中的标题作为键名,为每个连续的行创build一个字典数组。 输出是一个整齐的plist文件,包含所有的数据。 使用[NSArray arrayWithContentsOfFile:]将数据popup到应用程序的内存中。

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

我也为此构build了一个非常简单的用户界面。 也许我会清理整个项目并将其发布到Google代码上。

您可能会考虑使用UIWebView实例呈现Excel文件,并查看是否可以在Web视图中访问DOM。

如果您可以访问DOM,那么可以使用libxml2或类似的库来编写一个parsing器来从中检索数据。