您的位置:首页 > 移动开发 > IOS开发

iOS 导出CSV文件(CSVWriter)

2015-10-01 16:46 1256 查看
CSV全称 Comma Separated values,是一种用来存储数据的纯文本文件格式,通常用于电子表格或数据库软件。用Excel或者Numbers都可以导出CSV格式的数据。



CSV文件的规则


1. 可含或不含列名,含列名则居文件第一行。

2. 一行数据不垮行,无空行。

3. 以半角符号,作分隔符,列为空也要表达其存在。

4. 列内容如存在,,则用“”包含起来。

5. 列内容如存在“”则用“”“”包含。

6. 文件读写时引号,逗号操作规则互逆。

7. 内码格式不限,可为ASCII、Unicode或者其他。

以上介绍来自于网络!

//保存一个字典

-(void)writeDict:(NSDictionary *)dict forFirst:(BOOL)first{

NSMutableString *str = [NSMutableString  string];

//第一次写入字典的key值
if (first) {

for (NSString *key in dict.allKeys) {
//"," 换列
[str appendString:[NSString stringWithFormat:@"%@,",key]];
}

}
//换行
[str appendString:@"\n"];

for (NSString *value in dict.allValues) {

[str appendString:[NSString stringWithFormat:@"%@,",value]];
}

[self writeData:[str dataUsingEncoding:self.encode]];

isFirst = false;

}


//保存一个数组

-(void)writeArray:(NSArray *)arr{

id element = arr[0];

if ([element isKindOfClass:[NSString class]]) {

NSMutableString *str_M = [NSMutableString string];

for (NSString *str in arr) {

[str_M appendString:[NSString stringWithFormat:@"%@,",str]];
}

[str_M appendString:@"\n"];

[self writeData:[str_M dataUsingEncoding:self.encode]];
}
else if ([element isKindOfClass:[NSDictionary class]]){

isFirst = true;

for (NSDictionary *dict in arr) {

[self writeDict:dict forFirst:isFirst];
}

}
else if ([element isKindOfClass:[NSArray class]]){

for (NSArray *subArr in arr) {

[self writeArray:subArr];
}

}

}


完整代码:

http://download.csdn.net/detail/wackosix/9151755
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: