文章目录
  1. 1. 前言
  2. 2. 转换
  3. 3. 读取
  4. 4. 参考资料
  5. 5. 文档信息

前言


iOS 并没有提供解析 .xls 格式的文件,但是我们可以通过将其转换为 .cvs 格式进行读取和解析。

转换


将 .xls 文件用 Numbers.app 应用打开,对数据格式进行整理,保留第一个行列说明文字,然后点击 文件 -> 导出到 -> CVS...,本文编码选择 Unicode(UTF-8) ,点击 下一步...,进行 文件命名导出,将导入的文件拖入 Xcode 即可。

读取


从网上找到下面的代码,亲测可用。其他方法待验证。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
- (NSArray *)readCSVData{
NSMutableArray *_InfoArray;
if (_InfoArray) {
return NULL;
}
_InfoArray=[[NSMutableArray alloc]init];
NSString *filepath=[[NSBundle mainBundle] pathForResource:@"schoollist" ofType:@"csv"];
FILE *fp=fopen([filepath UTF8String], "r");
if (fp) {
char buf[BUFSIZ];
fgets(buf, BUFSIZ, fp);
NSString * schoolAddress;
while (!feof(fp)) {
char buf[BUFSIZ];
fgets(buf, BUFSIZ, fp);
// 处理文本信息 转化 成 数组文件
NSString *s=[[NSString alloc]initWithUTF8String:(const char *)buf];
NSString *ss=[s stringByReplacingOccurrencesOfString:@"\r" withString:@""];
ss=[ss stringByReplacingOccurrencesOfString:@"\n" withString:@""];
NSMutableArray *a = [NSMutableArray arrayWithArray:[ss componentsSeparatedByString:@","]];
//a[0]:第一列,a[1]:第二列,a[2]:第三列...
[_InfoArray addObject:a];
}
}
}
return _InfoArray;
}

参考资料


文档信息


  • 版权声明:自由转载-保持署名-非商用-非衍生 ( CC BY-NC-ND 4.0 )
文章目录
  1. 1. 前言
  2. 2. 转换
  3. 3. 读取
  4. 4. 参考资料
  5. 5. 文档信息