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

2024-05-14

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

最好的进攻计划是什么?

我心中的可能性:

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

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

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

我需要一些帮助来弄清楚这些方法。我从未使用过 Excel。

1 很好,2 可能是我现在正在做的事情的最佳解决方案,3 我几乎知道该怎么做,但我实际上不确定 MySQL 是否有 XLS 导入(我相信 MSSQL 有)。


我曾经遇到过类似的问题。我最终所做的是编写一个简单的应用程序,该应用程序采用 CSV 文件并将其转换为 Plist。然后我根据应用程序中的需要使用了 Plist。这段代码使用cCSV解析 http://michael.stapelberg.de/cCSVParse。它将使用第一行中的标题作为键名称来为每个连续行创建一个字典数组。输出是一个包含所有数据的整洁的 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];

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Excel 工作表到 iPhone 数据 -- A 点到 B 点 的相关文章

随机推荐