0

我正在尝试将包含其内容的工作表复制到另一个新的工作表中。

最初我拥有的是一张表格,我想复制带有表格及其内容的工作表。

在 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' 必须是(截断...)”

你能帮我解决这个问题吗?

提前致谢。

4

1 回答 1

1

我认为您不能在一次调用中直接使用数据复制整个工作表,但您可以尝试解决方法,首先创建一个工作表,然后添加一个表,然后从前一个工作表表中获取数据
,然后将值添加为行到第二个电子表格中的第二个表。

如果您想在一次通话中完成,您可以在Microsoft Graph 用户语音论坛上针对此功能提出用户语音。

于 2020-10-02T13:40:50.297 回答