[英]Data in csv file after export
导出到csv文件的数据有问题。 它涉及带有重音符号的数据。 类型数据是字符串。 在我的文件中,我有这个:
Téléphones et internet; Abonnement iPad; 13,90 €; Débit
我想拥有 :
Téléphones et internet; Abonnement iPad; 13,90€ Débit
应该使用什么代码来做到这一点? 谢谢。
编辑:我的代码
NSMutableString *writeString = [NSMutableString string];
for (id object in [[self fetchedResultsController] fetchedObjects]) {
NSString * object1 = [[object valueForKey:@"object1Data"] description];
NSString * object2 = [[object valueForKey:@"object2Data"] description];
NSString * object3 = [[object valueForKey:@"object3Data"] description];
NSString * object4 = [[object valueForKey:@"object4Data"] description];;
[writeString appendString:[NSString stringWithFormat:@"%@; %@; %@; %@\n", object1, object2, object3, object4]];
}
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* savePath = [paths objectAtIndex:0];
savePath = [savePath stringByAppendingPathComponent:@"objectData.csv"];
[writeString writeToFile:savePath atomically:YES encoding:NSUTF8StringEncoding error:NULL];
EDIT2:查看我使用他的:
QLPreviewController *previewController=[[QLPreviewController alloc]init];
previewController.delegate=self;
previewController.dataSource=self;
[self presentViewController:previewController animated:YES completion:nil];
[previewController.navigationItem setRightBarButtonItem:nil];
- (id <QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* savePath = [paths objectAtIndex:0];
savePath = [savePath stringByAppendingPathComponent:@"objectData.csv"];
return [NSURL fileURLWithPath:savePath];
}
- (NSInteger)numberOfPreviewItemsInPreviewController:(QLPreviewController *)controller
{
return 1;
}
您的输出看起来可能是正确的,问题似乎出在您查看它的方式上。
您要将其导入Excel或其他内容吗? 根据我的经验,Excel的CSV导入非常糟糕,并且它不会自动检测传入的UTF-8数据。
可能是编码在这里引起了问题。
附带说明一下,它是CSV =逗号分隔值。 您不是将逗号放在..吗?
更改:
[writeString appendString:[NSString stringWithFormat:@"%@; %@; %@; %@\n", object1, object2, object3, object4]];
至:
[writeString appendString:[NSString stringWithFormat:@"%@;, %@;, %@;, %@\n", object1, object2, object3, object4]];
这将使这些值在excel中打开时显示在单独的列中,除非您希望所有这些都在1列中...?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.