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

标签 iphone excel iphone-sdk-3.0 core-data

尽可能简单:我有一个非常简单的 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。此代码使用 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 代码上。

关于iphone - Excel 工作表到 iPhone 数据 -- A 点到 B 点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1488948/

相关文章:

c# - 使用 COM Interop 复制 Excel 工作表会丢失单元格颜色

python - 在只读模式下使用 OpenPyXL 获取 Excel 工作表的列名

iphone - 如何修复iPhone横向放大/缩小图像的大小?

iphone - 在navigationController堆栈中仅隐藏一个navigationBar

ios - Google map SDK 版本 1.7.2 是否与 iOS 6.1 不兼容?

ios - 从代码中调用 IBAction 的最佳方法是什么?

iphone - 每 10 分钟发送一次数据

excel - 复制整行(值不是公式)VBA

iphone - Xcode:如何将长字符串包裹到 Xcode 编辑器中的下一行

iphone - 注册所有文件类型 (CFBundleDocumentTypes)