我想阅读excel文件,所以我按照以下步骤操作。首先创建.xls文件的.csv文件。但.csv文件在excel中打开。
NSBundle *bundle = [NSBundle mainBundle];
NSString *xlsFilePath = [bundle pathForResource:@"sampleXLSFile" ofType:@"xls"];
NSString *csvFilePathLoc = [[xlsFilePath stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"NewSample.csv"];
NSData *data = [NSData dataWithContentsOfFile:xlsFilePath];
NSLog(@"data value: %@", data);
NSFileManager *csvFile = [NSFileManager defaultManager];
if([csvFile createFileAtPath:csvFilePathLoc contents:data attributes:nil])
{
NSLog(@"File created");
}
else {
NSLog(@"File not created");
}
NSString *contentsOfCSVFile = [NSString stringWithContentsOfFile:csvFilePathLoc];
NSLog(@"contentsOfCSVFile value: %@",contentsOfCSVFile);
在应用程序文件夹位置创建NewSample.csv文件。但是当它不是逗号分隔时它仍然以excel格式打开。当我NSLog的contentsOfCSVFile时,所有数据都被加密。任何身体都能帮忙吗?如何应用编码和解码?
答案 0 :(得分:1)
您所做的就是将xls
文件的确切内容复制到最后带有.csv
的新文件。更改文件扩展名不会自动转换文件格式。你需要介绍一下
NSData *data = [NSData dataWithContentsOfFile:xlsFilePath];
和
if([csvFile createFileAtPath:csvFilePathLoc contents:data attributes:nil])
将数据解析为Excel文件并将其转换为CSV文件。这可能是一项非常重要的工作。祝你好运。