首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在laravel - laravel-excel中读取xls文件

如何在laravel - laravel-excel中读取xls文件
EN

Stack Overflow用户
提问于 2017-05-19 02:32:22
回答 1查看 16.5K关注 0票数 5

我正在使用laravel-excel库读取excel文件。

http://www.maatwebsite.nl/laravel-excel/docs/import

代码语言:javascript
复制
   //http://localhost:8000/assets/panel/excel/test123.xls
    $address = URL::to('/assets/panel/excel/').'/test123.xls';
   // dd($address);
    Excel::load($address, function($reader) {

        $results = $reader->get();
        dd($results);

    });

这个文件http://localhost:8000/assets/panel/excel/test123.xls存在,但我得到了这个错误:

代码语言:javascript
复制
Could not open C:\xampp\htdocs\tahrircenter\http://localhost:8000/assets/panel/excel/test123.xls for reading! File does not exist.

我知道这个错误的含义,但是我如何在这个库中使用我的地址而不是目录地址?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-19 10:25:45

解决方案1

刚刚测试过,下面的代码应该可以正常工作:

代码语言:javascript
复制
// /routes/web.php
Route::get('excel-test', function () {
    // http://localhost/assets/panel/excel/test123.xls
    // /public/assets/panel/excel/test123.xls
    $address = './assets/panel/excel/test123.xls';
    Excel::load($address, function($reader) {
        $results = $reader->get();
        dd($results);
    });
});

Laravel Excel是基于PHPOffice的PHPExcel代码

PHPExcel文档中的一个示例具有以下代码:https://github.com/PHPOffice/PHPExcel/blob/1.8/Documentation/Examples/Reader/exampleReader01.php#L29

解决方案2

您也可以使用public_path() Laravel辅助函数:

代码语言:javascript
复制
Route::get('excel-test', function () {
    $address = public_path('assets/panel/excel/test123.xls');
    Excel::load($address, function($reader) {
        $results = $reader->get();
        dd($results);
    });
});

讨论

文件中产生错误的部分:

代码语言:javascript
复制
// /vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php
public function canRead($pFilename)
{
    // Check if file exists
    if (!file_exists($pFilename)) {
        throw new PHPExcel_Reader_Exception("Could not open " . $pFilename . " for reading! File does not exist.");
    }
    // ...
}

正如您所看到的,PHPExcel使用file_exists() PHP函数来检查文件是否存在。file_exists()只能检查本地路径,而不能检查远程路径/ URL。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44055421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档