现在的位置: 首页 > 综合 > 正文

将excel中内容转为plist文件

2013年09月06日 ⁄ 综合 ⁄ 共 1346字 ⁄ 字号 评论关闭

今天遇到了一个问题,内容描述如下:
有一个excel 有几百上千行数据,例如:

name  number    content   。。。。。。。
张三    12132      xxxxxxxxxx
李四   321321    yyyyyyy
。。。。

想把这些数据运用到app中,可是找不到合适的方法,本来是想给转为sqlite 的,找了半天mac下sqlite管理工具,没找到太麻烦了,索性就想把这些数据作为字典存放在数组里,方法如下:
1.将excel 转为csv文件(备注,这里可能会遇到文字编码问题,我是将csv文件内容复制粘贴为txt);
2.代码:关键代码如下:
   NSString *path = [[NSBundle mainBundle] pathForResource:@"4" ofType:@"txt"];

    NSString *contents = [[NSString alloc] initWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

    NSArray *contentsArray = [contents componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];


    NSString *docs = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/xxxx.plist"] ;

    NSMutableArray *arr = [[NSMutableArray alloc] init];

    

    NSInteger idx;   

    for (idx = 0; idx < contentsArray.count; idx++) {

        NSString* currentContent = [contentsArray objectAtIndex:idx];

        NSArray* timeDataArr = [currentContent componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@";"]];

        NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];

        [dic setObject:[timeDataArr objectAtIndex:0] forKey:@"name"];

        [dic setObject:[timeDataArr objectAtIndex:1] forKey:@"number"];

        [dic setObject:[timeDataArr objectAtIndex:2] forKey:@"CONTENT"];

        [arr addObject:dic];

    }

    [arr writeToFile:docs atomically:YES];

3.下次想用这些数据就可以直接从plist里面读取啦~~

抱歉!评论已关闭.