需要在本地存储一些不变的数据,但这些数据存在excel表格里,怎么使用它们呢?一种方法是将excel转换成plist文件。
excel表格的内容类似于
SchoolID SchoolName
0000001 中学1
0000002 中学2
0000003 中学3
......
先将excel另存为文本文件,去掉第一行的SchoolID SchoolName,接下来就可以编写代码了:
NSString *schoolsPath = [[NSBundle mainBundle] pathForResource:@"SchoolsData" ofType:@"txt"];
NSString *schoolsContent = [[NSString alloc] initWithContentsOfFile:schoolsPath encoding:NSUTF8StringEncoding error:nil];
NSArray *schoolsArray = [schoolsContent componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSString *plistPath = [NSHomeDirectory() stringByAppendingPathComponent:@"School.plist"];
NSMutableArray *resultsArr = [[NSMutableArray alloc] initWithCapacity:0];
for (NSInteger j = 0; j < schoolsArray.count; j++){
NSString *schoolStr = [schoolsArray objectAtIndex:j];
NSArray *schoolArr = [schoolStr componentsSeparatedByString:@"\t"];
[resultsArr addObject:@{@"schoolCode":[schoolArr objectAtIndex:0],@"schoolName":[schoolArr objectAtIndex:1]}];
}
[resultsArr writeToFile:plistPath atomically:YES];
中间遇到一个问题,SchoolsData.txt里的数据怎么也读不出来,后来就新建了一个空的文本文档,将SchoolsData.txt里的内容复制过来,读取新建的这个就可以了,估计是从excel直接转换过来的txt编码不对,用utf8读不出来。