有没有办法复制UITableView的内容? 这是因为它与表格在同一视图中,但是,单元格是自定义的(但是只有4行文本,每行包含4个标签)。 理想情况下,我希望通过电子邮件发送类似Excel的表格,但我想找到一种方法来复制每个单元格(并保持它们之间的格式)并以有用的方式发送它。 (这些信息是反馈意见,有几个类别的评分为5分!)
答案 0 :(得分:0)
没有用于执行此操作的API,您必须自己生成包含表格内容的文件。在桌子上一个接一个地走。
答案 1 :(得分: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文件并返回本地文件路径,然后可以通过电子邮件发送到某个地方。显然你的数据结构可能不同,但你应该能够得到一般的想法......?如果没有,请告诉我(我省略了一些代码)。