UITableView の内容をコピーする方法はありますか? これは、テーブルと同じビューにあるという事実を念頭に置いていますが、セルはカスタムです (ただし、それぞれに 4 つのラベルを含む 4 行のテキストのみ)。理想的には、Excel のようなテーブルをメールで送信したいのですが、各セルをコピーして (そしてそれらの間の書式を維持して) 便利な方法で送信する方法を見つけたいと思います。(情報はフィードバックであり、いくつかのカテゴリは 5 段階で評価されています!)
2 に答える
0
このコードを使用してCSVとして保存できます(今探しています)
+ (NSString *)returnCreatedCSVFileNameFromColumns:(NSArray *)columns andDetails:(NSArray *)details {
//Create CSV string:
__block NSString *csvString = [[NSString alloc] init];
NSMutableArray *detailsArray = [[NSMutableArray alloc] init];
NSMutableArray *columnsArray = [[NSMutableArray alloc] init];
//Current Column:
for (TableColumn *column in columns) {
//Add the title for the column we are looping through:
csvString = [csvString stringByAppendingString:[NSString stringWithFormat:@"%@,", column.displayName]];
}
[columnsArray addObject:csvString];
csvString = @"";
for(Individual *individual in details)
{
for (TableColumn *tableColumn in columns)
{
csvString = [csvString stringByAppendingString:[NSString stringWithFormat:@"%@", [[tableColumn columnValueForIndividual:individual] stringByReplacingOccurrencesOfString:@"," withString:@"/"] ? : @""]];
}
csvString = [csvString stringByAppendingString:@","];
}
csvString = [csvString stringByAppendingString:@"\n"];
}
[detailsArray addObject:csvString];
csvString = @"";
csvString = [csvString stringByAppendingString:[NSString stringWithFormat:@"%@\n%@", [columnsArray objectAtIndex:0], [detailsArray objectAtIndex:0]]];
//Save csv to docs folder:
NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [path objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"current_share.csv"];
NSData *csvFileData = [csvString dataUsingEncoding:NSASCIIStringEncoding];
if ([csvFileData writeToFile:filePath atomically:YES]) {
DLog(@"File written to: %@", filePath);
}
else
DLog(@"Saving file error");
return filePath;
}
これを使用して CSV ファイルを作成し、ローカル ファイル パスを返し、それをどこかに電子メールで送信できます。明らかに、データ構造は異なる場合がありますが、一般的なアイデアを得ることができるはずです...? そうでない場合はお知らせください(一部のコードを省略しています)。
于 2013-09-25T15:28:38.693 に答える
0
それを行うための API はありません。テーブルの内容を含むファイルを自分で生成する必要があります。一人ずつテーブルの上に乗ってください。
于 2013-09-25T15:20:18.823 に答える