问题描述
我正在尝试将工作表及其内容复制到另一个新工作表中。
我本来就有一张桌子,我想复制带有该桌子及其内容的工作表。
在PHP编程中,我正在尝试这样做:
$sheet = $graph->createRequest('GET',$originSheet)
->setReturnType(Model\WorkbookWorksheet::class)
->execute();
$sheet->setName($worksheetName);
$graph->createRequest('POST',$sheetUrl)
->setReturnType(Model\WorkbookWorksheet::class)
->attachBody($sheet)
->execute();
但是内容没有重复,我只是得到了一个重复的空工作表。
我尝试执行GET来检索原始工作表的原始表,如下所示:
$originSheetTables = $graph->createRequest('GET',$originSheetUrl)
->setReturnType(Model\WorkbookTable::class)
->execute();
但是我不知道如何使用该请求的响应($ originSheetTables)添加到新工作表中。我已经使用这种方法尝试了此请求:
$graph->createRequest('POST',$sheetUrl.'/'.$worksheetName.'/tables/add')
->attachBody($originSheetTables[0])
->execute();
但是我遇到了400错误:“请求URI无效。段'add'必须是(被截断的...)“
您能帮我吗?
谢谢。
解决方法
我认为您不能在一个调用中直接用数据复制整个工作表,但是您可以尝试先从creating a worksheet开始,然后在add a table之后再从get data上一个工作表表
然后将这些值作为行添加到第二个电子表格的第二个表中。
如果您希望在一次通话中完成此操作,则可以在Microsoft Graph Uservoice Forum上为此功能提出一个用户声音。