Intereting Posts
Как загрузить содержимое / изображение / данные файла типа ввода? Неустранимая ошибка: класс 'Swift_smtpTransport' не найден в Сортировка элементов совпадающих тегов, имеющих вес в MySQL PHP, MySQL: получение электронной почты, автоматический поиск в БД и отправка электронной почты по результатам Недопустимый формат XML. Как избежать этого Расшифровка зашифрованного текста в PHP Выполнение всех выходных файлов PHP проходит через «файл фильтра» перед отображением Сообщение об ошибке php для одной страницы? Двойные кавычки не копируются нормально. Как я могу их редактировать? читать идентификатор тега XML из php Автоматическое создание правила цены покупок в Magento Обновите div, но только если есть новый контент из php-файла Codeigniter – не указан входной файл Получение многоканальных данных Google Analytics через API mysql_fetch_array () ожидает, что параметр 1 будет ресурсом, указанная строка

PHPExcel – Как установить URL-адрес

Я isung PHPExcel и имею URL-адрес в строке. При выполнении:

$url = 'http://dx.doi.org/10.1016/j.phymed.2005.11.003' $xls = new PHPExcel(); $xls->setActiveSheetIndex(0); $xls->getActiveSheet()->setCellValueByColumnAndRow(1,2,$url); 

URL-адрес задан как простой текст.

Я также пробовал:

 $xls->getActiveSheet()->getCellByColumnAndRow(1,2)->getHyperlink()->setUrl('"'.$url.'"'); 

Но затем, щелкнув по ссылке, она пытается открыть локальную папку.

Любая идея, как это сделать?

Спасибо.

РЕДАКТИРОВАТЬ

Когда я пытаюсь сделать это без кавычек:

 $xls->getActiveSheet()->getCellByColumnAndRow(1,2)->getHyperlink()->setUrl($url); 

Затем я получаю сообщение об ошибке:

 Exception' with message 'Invalid parameters passed.' 

Мой настоящий URL-адрес

 http://dx.doi.org/10.1016/j.phymed.2005.11.003 

Я заметил, что при установке косой черты в конце гиперссылка работает, но URL-адрес ошибочен.

Я нашел решение, так что URL-адрес, который у меня был, не был распознан excel.

 $url = str_replace('http://', '', $link); $xls->getActiveSheet()->getCellByColumnAndRow(1,2)->getHyperlink()->setUrl('http://www.'.$url); 

И теперь это работает. Надеюсь, это поможет.

Я предполагаю, что ваше значение поля имеет целочисленное значение. Если это так, тогда вам сначала нужно преобразовать тип данных этой ячейки, а затем установить гиперссылку. Вот как я это сделал.

 //set the value of the cell $this->phpExcelObj->getActiveSheet()->SetCellValue('A1',$id); //change the data type of the cell $this->phpExcelObj->getActiveSheet()->getCell("A1")->setDataType(PHPExcel_Cell_DataType::TYPE_STRING2); ///now set the link $this->phpExcelObj->getActiveSheet()->getCell("A1")->getHyperlink()->setUrl(strip_tags($link)); 

Просто потерял час по тому же вопросу. Наконец (после проверки источника PHPexcel) выяснилось, что -> getCell ('A1') не требуется и всегда приводит меня к следующей ошибке: вызов функции-члена getHyperlink () для не-объекта. Вместо этого вы должны передать координаты ячейки непосредственно в getHyperlink ('A1') следующим образом:

 $YourActiveSpreadsheet->getHyperlink('A1')->setUrl($url); 

Попробуйте написать код ниже:

$objSheet->setCellValue('A1', '=Hyperlink("https://www.someurl.com/","Mi web")');