PHPExcel getHyperlinks by column

时间:2017-05-16 07:55:52

标签: url hyperlink phpexcel

我使用Php5.3.13和Symfony2在PHP表格中转换HTML表格中的excel文件。

那个工作:

$objPHPExcel->getActiveSheet()->getColumn('N4')->hasHyperlink();
$url = $objPHPExcel->getActiveSheet()->getCell('N4')->getHyperlink()->getUrl();
$url = str_replace('../old/path', '/new/path', $url);
$objPHPExcel->getActiveSheet()->getCell('N4')->getHyperlink()->setUrl($url);

已编辑:我只想在专栏上做这件事:

$objPHPExcel->getActiveSheet()->rangeToArray('N1:N9')->hasHyperlink();
$url = $objPHPExcel->getActiveSheet()->rangeToArray('N1:N9')->getHyperlink()->getUrl();
$url = str_replace('old/path', '/new/path', $url);
$objPHPExcel->getActiveSheet()->rangeToArray('N1:N9')->getHyperlink()->setUrl($url);

你能告诉我如何循环getHyperlinkCollection();结果好吗?

非常感谢! @MarkBaker

1 个答案:

答案 0 :(得分:2)

Worksheet对象包含所有超链接的详细信息,您可以使用

检索该信息
$sheet->getHyperlinkCollection();

这将返回一个超链接对象数组,由单元格地址索引;然后,您可以使用array_filter()进行适当的回调,并设置ARRAY_FILTER_USE_KEY标记以提取特定范围内的那些。