加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – Xcode – 创建csv /电子表格文件

发布时间:2020-12-14 17:16:55 所属栏目:百科 来源:网络整理
导读:我有三个阵列.第一个数组包含字符串,与第二个数组相同,但第三个数组包含NSNumber.无论如何,回到主题…如何创建一个csv(这是一个excel /数字)文件,如电子表格来包含这些数据.可能吗? 这些是我的三个数组: locationArray – 包含许多字符串 dateArray – 包
我有三个阵列.第一个数组包含字符串,与第二个数组相同,但第三个数组包含NSNumber.无论如何,回到主题…如何创建一个csv(这是一个excel /数字)文件,如电子表格来包含这些数据.可能吗?

这些是我的三个数组:

locationArray – 包含许多字符串
dateArray – 包含许多字符串
milesArray – 包含许多NSNumber

但是每个数组包含相同数量的对象(例如在表视图中),您可以在NSDictionary中将数据分块.它就像一条链子.

那么它看起来像这样:

NSDictionary *firstFlight = [NSDictionary dictionaryWithObjectsAndKeys:[locationArray objectAtIndex: 0],@"FlightName",[dateArray objectAtIndex: 0],@"FlightDate",[milesArray objectAtIndex: 0],@"FlightMiles",nil];

该字典将包含一个航班(此测试应用程序的功能是记录航班).因此,如果我使用for循环枚举这个并替换objectAtIndex:使用循环数字我可以获得许多航班词典.

现在您已了解我的数据结构的工作原理.我怎样才能创建一个excel /数字/电子表格CSV文件,例如这样(只是一个屏幕截图):

(里程数据刚刚建成)

解决方法

NSArray *firstArray,*secondArray,*thirdArray;

NSMutableString *csv = [NSMutableString stringWithString:@"Name,Date,Miles"];

NSUInteger count = [firstArray count];
// provided all arrays are of the same length
for (NSUInteger i=0; i<count; i++ ) {
    [csv appendFormat:@"n"%@",%@,"%d"",[firstArray objectAtIndex:i],[secondArray objectAtIndex:i],[[thirdArray objectAtIndex:i] integerValue]
     ];
    // instead of integerValue may be used intValue or other,it depends how array was created
}

NSString *yourFileName = @"your filename";
NSError *error;
BOOL res = [csv writeToFile:yourFileName atomically:YES encoding:NSUTF8StringEncoding error:&error];

if (!res) {
    NSLog(@"Error %@ while writing to file %@",[error localizedDescription],yourFileName );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读