如何从phpexcel中的单元格中删除超链接

How to delete hyperlink from cell in phpexcel

我正在尝试编辑 sheet 并删除行,当我这样做时,带有电子邮件地址(带有 mailto hyperlink)的单元格保留了 hyperlink尽管单元格值已被移入其位置的新单元格替换。

例如 单元格 A1 有电子邮件地址 abc@abc.com,单元格 A2 有一个空白单元格,当我使用 $sheet->removeRow 函数删除第 1 行时,该行被删除,但是 A1 现在是一个空白单元格一个 mailto link 到 abc@abc.com

我无法使用 phpexcel

在单元格上删除这个 hyperlink

我试过以下方法

  1. $cell->getHyperlink()->setUrl();
  2. $cell->setHyperlink(new PHPExcel_Cell_Hyperlink(''));

任何帮助将不胜感激

将值 null 传递给单元格的 setHyperlink 方法

通过查看代码,这会找到单元格附加到的工作表,如果值为空则删除超链接

$cell->setHyperlink(null);

Worksheet.php https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Worksheet.php#L2702

Cell.php https://github.com/PHPOffice/PHPExcel/blob/1.8/Classes/PHPExcel/Cell.php#L461

根据文档,以下代码将用于添加超链接

$objPHPExcel->getActiveSheet()->setCellValue('E26', 'www.phpexcel.net');

$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setUrl('http://www.phpexcel.net'); 一样喜欢试试下面的代码

setUrl EmptyNull 值。

$objPHPExcel->getActiveSheet()->setCellValue('E26', '');

$objPHPExcel->getActiveSheet()->getCell('E26')->getHyperlink()->setUrl('');