1) MFMailComposeViewController.Followingを使用してメールの添付ファイルとして送信したいNSMutableArray(配列の配列) を使用して 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];
}
問題は、約 800 ~ 900 レコードの csv ファイルが適切に作成されていることですが、それを超えるとアプリケーションがクラッシュします。csv レコードを作成するのに効率的な方法はありますか。
2) また、csv ファイルはExcel ではデータを正しく表示していますが、オープン オフィスでは表示していません 。
オープンオフィス出力
口座番号
19824:38:00
Excel出力(期待出力) 口座番号 019465:021578
OpenOfficeが適切な出力を表示しない理由を理解できません。
前もって感謝します。