今天遇到了一个问题,内容描述如下:
有一个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里面读取啦~~