如何在目标c中将数组数据写入excel文件(CSV)

我试图将数组数据写入Excel(实际上它是一个CSV,但它是在Excel中打开)。 我用下面的代码来做到这一点:

NSMutableArray *list; list = [[NSMutableArray alloc] init]; NSString *string = [list componentsJoinedByString:@","]; NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"yourFileName.csv"]; [data writeToFile:appFile atomically:YES]; 

它工作正常,但问题是我有我的“列表”数组中的20个对象,所有这20个对象写在并排单元格。 我想要的是将前4个对象写入一行,然后移动到新行,并再次写入该行中的下4个对象,直到列表数组中的所有对象都完成。

任何人都可以帮我解决这个问题吗?

 NSMutableArray *list = ... NSMutableString *buffer = [NSMutableString string]; for (NSUInteger i = 0; i < list.count; i++) { NSString *value = list[i]; if (i > 0) { if (i % 4 == 0) { //after every 4th value buffer.append("\n"); //end line } else { buffer.append(","); } } buffer.append(value); //if your values contain spaces, you should add quotes around values... //buffer.appendFormat(@"\"%@\"", value); } NSData *data = [buffer dataUsingEncoding:NSUTF8StringEncoding]; ... 

要在CSV中打断行,只需在“行尾”input\r\n 。 因为在mac中你只需要\r\n (现在还不确定)