1

我想将数据从我的应用程序复制到 Numbers 或 Excel 工作表中。数据主要由整数组成,但也有一些图像。我尝试通过首先将数据放入 NSTableView 中,然后通过以下方法将数据写入粘贴板来完成此操作:

- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet *)rowIndexes toPasteboard:(NSPasteboard*)pboard
{
    NSArray * dataToPaste = [NSArray arrayWithObjects:[NSString stringWithFormat:@"%ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t",
                                               data1,
                                               data2,
                                               data3,
                                               data4,
                                               data5,
                                               data6,
                                               data7,
                                               data8],
                                               [An NSImage], nil];
    [pboard writeObjects:dataToPaste];
    return YES;
} 

如果我最后不添加 NSImage,所有数据都会被很好地复制,但是一旦我将 NSImage 添加到数组中,只有图像被复制,如果我添加两个 NSImage,只有第一个被复制。我错过了什么?

任何想法将不胜感激!

编辑:顺便说一句,我刚刚意识到,即使是 Numbers.app 也无法将带有文本和图像的复制单元格拖动到 Excel 和 TextEdit 中。但是,在 Numbers 文件之间有效。

4

1 回答 1

0

NSArray * dataToPaste = [NSArray arrayWithObjects:[NSString stringWithFormat:@"%ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %ld \t %@", data1, data2, data3, data4, data5, data6, data7, data8], [An NSImage], nil]; [板写对象:dataToPaste];

对图像使用“%@”格式说明符,对 NSnumber 使用 %ld,这可能是解决方案。

于 2013-07-19T10:35:05.230 回答