PHPExcel清除单元格注释

时间:2017-01-30 10:31:17

标签: comments phpexcel

在添加新的单元注释之前,是否可以清除PHPExcel中的所有单元格注释?我有工作代码添加注释但我想首先清除特定单元格中的所有现有注释:

$pexr = PHPExcel_IOFactory::createReader('Excel2007');
try {
   $pex = $pexr->load($fn);
   } catch (Exception $e) {
     //...
     return;
   }
}
// ...        
sheet = $pex->getSheetByName($curMed);
...
$sheet->setCellValue($col . $row, $r[7]);
$sheet->getStyle($col . $row)->getNumberFormat()->setFormatCode('#,##0');
$sheet->getComment($col . $row)->getText()->createText("My lovely comment\r\n");

不幸的是,我在文档中找不到类似“clear”的内容。

1 个答案:

答案 0 :(得分:2)

注释存储为数组,由工作表对象中的单元格地址索引;它提供了获取和设置整个数组的方法;因此,完全有可能检索数组,取消设置要清除的单元格的注释,然后再将数组重新覆盖原始数据:

$comments = $sheet->getComments();
if (isset($comments[$col . $row])) {
    unset($comments[$col . $row]);
    $sheet->setComments($comments);
}
相关问题