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

Excel工作表到iPhone数据--点A到点B,iphone,excel,iphone-sdk-3.0,core-data,Iphone,Excel,Iphone Sdk 3.0,Core Data,尽可能简单:我有一个非常简单的Excel电子表格,有超过1k的记录。我想将其用作iPhone应用程序的静态数据源 最好的进攻计划是什么 我心目中的可能性: 1) 直接作为数据源读取XLS:是否有Obj-C库 2) 将XLS转换为Obj-C有库的格式。。。CSV?XML?一些本地CoreData格式 3) 将其导入MySQLish并从服务器获取XML提要 我需要一些帮助来找出这些方法。我从未使用过Excel 1会很好,2可能是我现在做的最好的解决方案,3我非常知道如何做,但我不确定MySQL是否有

尽可能简单:我有一个非常简单的Excel电子表格,有超过1k的记录。我想将其用作iPhone应用程序的静态数据源

最好的进攻计划是什么

我心目中的可能性:

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

2) 将XLS转换为Obj-C有库的格式。。。CSV?XML?一些本地CoreData格式

3) 将其导入MySQLish并从服务器获取XML提要

我需要一些帮助来找出这些方法。我从未使用过Excel


1会很好,2可能是我现在做的最好的解决方案,3我非常知道如何做,但我不确定MySQL是否有XLS导入(我相信MSSQL有)。

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


如果您可以访问DOM,您可能可以使用
libxml2
或类似的库来编写从中检索数据的解析器。

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

    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];
我还为此构建了一个非常简单的UI。也许我会清理整个项目,并将其发布在谷歌代码上