gpt4 book ai didi

ios - 如何在 objective-c 中将数组数据写入excel文件(CSV)

转载 作者:行者123 更新时间:2023-11-28 22:03:58 25 4
gpt4 key购买 nike

我正在尝试将数组数据写入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];
...

关于ios - 如何在 objective-c 中将数组数据写入excel文件(CSV),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24452962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com