1)我试图使用NSMutableArray(array of array)创建CSV文件,我想使用MFMailComposeViewController作为邮件附件发送。后面是代码i已经写了它 -iOS应用程序在创建数据量过大的csv文件时崩溃
//Export Data to excel
-(NSString*)ExportToExcelClicked
{
dataToSend = @"";
@try {
for(int cntHeader = 0;cntHeader< [NamesArray count];cntHeader++)
{
dataToSend = [NSString stringWithFormat:@"%@%@\n",dataToSend,[NamesArray objectAtIndex:cntHeader]];
dataToSend = [NSString stringWithFormat:@"\nAccount Number,Engine Number,Chasssis Number,Registration,Vehicle Type,Vehicle Model,Vehicle Make\n"];
for(int cntData = 0;cntData< [appDelegate.arrEmailRepossessionDetail count];cntData++)
{
NSMutableArray *thearr = [appDelegate.arrEmailRepossessionDetail objectAtIndex:cntData];
NSString *strVehicleDetail = @"";
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:0]];
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:1]];
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:2]];
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:3]];
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:4]];
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:5]];
strVehicleDetail = [NSString stringWithFormat:@"%@%@,",strVehicleDetail,[thearr objectAtIndex:6]];
dataToSend = [NSString stringWithFormat:@"%@%@\n",dataToSend,strVehicleDetail];
}
dataToSend = [NSString stringWithFormat:@"%@\n\n",dataToSend];
return dataToSend;
}
}
@catch (NSException *exception) {
NSLog(@"NSException: %@", exception.reason);
}
}
代码邮件附件
NSString *strCSVData = [self ExportToExcelClicked];
if ([strCSVData isEqualToString:@""] || strCSVData.length > 0)
{
NSData *dataObj = [strCSVData dataUsingEncoding:NSUTF8StringEncoding];
}
问题是csv文件正在为大约800到900条记录正确创建,但超出 该应用程序正在崩溃。是否有效率是创建csv记录。
2)另外,csv文件正确的Excel中而不是在开放式办公室中显示数据 如: -
开放式办公输出 帐号
19824:38:00
Excel输出(预期输出) 帐号 019465:021578
不明白为什么OpenOffice的没有显示正确的输出。
在此先感谢。
感谢刻刀你right.Creating一个新字符串绝对不是一个有效的way.Will尝试代码的NSMutableString。 – niks
对于for循环中的strVehicleDetail做同样的事情... – graver