0

UITableView の内容をコピーする方法はありますか? これは、テーブルと同じビューにあるという事実を念頭に置いていますが、セルはカスタムです (ただし、それぞれに 4 つのラベルを含む 4 行のテキストのみ)。理想的には、Excel のようなテーブルをメールで送信したいのですが、各セルをコピーして (そしてそれらの間の書式を維持して) 便利な方法で送信する方法を見つけたいと思います。(情報はフィードバックであり、いくつかのカテゴリは 5 段階で評価されています!)

4

2 に答える 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 に答える