excel - Laravel Excel 使用 URL 获取导入单元格访问权限
问题描述
我正在使用Laravel 8和Laravel Excel 3.1导入工作表,并且无法访问当前的 Cell 对象及其超链接/URL。
解决方案
有解决办法!OnEachRow
使用带有接口的 Laravel Excel 导入模型:自行处理持久性并编写更多代码
<?php
//call your import script
config(['excel.imports.read_only' => false]); // to get access to all of the cells content
\Maatwebsite\Excel\Facades\Excel::import(new \App\Imports\Sheet1, $xlsFile);
Laravel Excel 导入类:
<?php
namespace App\Imports;
use Maatwebsite\Excel\Cell;
use Maatwebsite\Excel\Row;
use Maatwebsite\Excel\Concerns\OnEachRow;
class Sheet1 implements OnEachRow
{
public function onRow(Row $row)
{
foreach ($row->getDelegate()->getCellIterator() as $cell) {
$cellObj = new Cell($cell); //Laravel Facade Cell Object
$cellPHPOffice = $cellObj->getDelegate(); // PHP SpreadsheetCell object
if ($cellPHPOffice->hasHyperlink()) {
$url = $cellPHPOffice->->getHyperlink()->getUrl(); // Cell URL: works ONLY with excel.imports.read_only => false
}
}
}
}
推荐阅读
- python - Python ZipFile:重命名文件时出现 WinError2
- single-sign-on - 使用 GSuite (IDP) 为 Rocker.Chat (SP) 设置 SAML
- java - 如何从方法中获取任务?
- wordpress - 如何在谷歌应用程序脚本中将 wordpress 数据库与 JDBC 连接?
- docker - wsl.exe -l -v 系统找不到指定的路径
- javascript - Webpack devServer 不尊重 webpack.config.js 中的 devServer 选项
- java - 触发单选按钮时显示信息
- php - 如何使用 PHP 函数从文件、样式表或 javascript 中去除注释?
- javascript - 尝试在 oncompleted 方法中访问状态
- google-api - 停止在谷歌日历上推送通知