如何在 Laravel 中安装 PHPExcel 库?

16

这个链接可能会对你有所帮助:https://dev59.com/uHHYa4cB1Zd3GeqPKVrb - Joe
5个回答

24

你应该使用Composer:"phpexcel/phpexcel": "dev-master"添加到你的composer.json文件中。

"require": {
    "phpexcel/phpexcel": "dev-master"
}

然后执行composer update。这样你就可以像平常一样使用它:

public function import($path){

    $objPHPExcel = PHPExcel_IOFactory::load($path);
    $objWorksheet = $objPHPExcel->getActiveSheet();
    $highestRow = $objWorksheet->getHighestRow();
    for ($row = 1; $row <= $highestRow; ++$row) {
         var_dump($objWorksheet->getCellByColumnAndRow(1, $row));
    }

}

非常好的答案,但在我的情况下是“laravel/framework”:“4.1.*”,因为我使用的是4.1版本。 - TuGordoBello
你有如何导出Excel的教程吗? - TuGordoBello
3
抱歉,我没有相关资料,但是你可以下载文档(http://phpexcel.codeplex.com/releases/view/119187),里面有你需要的各种示例。此外,请查看在线文档(https://github.com/PHPOffice/PHPExcel/wiki/User%20Documentation)。 - Razor
"$path" 是什么意思? - Deenadhayalan Manoharan
4
给未来的读者:请将第一个库标记为弃用,将 phpexcel/phpexcel 替换为 phpoffice/phpexcel - Hossein Shahsahebi
PHPExcel不再维护和开发。phpoffice/phpSpreadsheet似乎是替代品。 - Richard Bale

14

如何在 Laravel 5 中安装 PhpExcel:

请访问此链接以获取包:https://packagist.org/packages/phpoffice/phpexcel

请按照以下步骤操作:

1:将"phpoffice/phpexcel": "dev-master" 添加到您的 composer.json 文件中。

2:在终端上执行"composer update"

3:打开文件 "/vendor/composer/autoload_namespaces.php",并将以下行粘贴到文件中:

'PHPExcel' => array($vendorDir . '/phpoffice/phpexcel/Classes'),

4:- 现在您可以在控制器、中间件或库中使用PHPEXCEL库。

use PHPExcel; 
use PHPExcel_IOFactory;

3
步骤三有时是可选的,因为作曲家自己将该行添加到命名空间文件中。 - Alejandro Silva
一些很好的步骤,但是phpexcel不再维护和开发。phpoffice/phpSpreadsheet看起来是替代品。 - Richard Bale

9

实际上,有一个专门为 Laravel 设计的新颖 PHPExcel 库。 安装简单,看起来容易使用(本人非相关人员)。 https://laravel-excel.com/


2
刚刚发布,非常适合在Laravel中使用PHPExcel。 - Mark Baker

4
如果您正在使用 Laravel 5,那么非常容易。
请查看 this link 进行配置。
您可能需要输入以下命令以继续进行包下载:

composer require maatwebsite/excel

请查看 this link 进行使用。
您可能想查看我的示例代码:
public function testexcel(){

    Excel::create('testfile', function($excel) {
        // Set the title
        $excel->setTitle('no title');
        $excel->setCreator('no no creator')->setCompany('no company');
        $excel->setDescription('report file');

        $excel->sheet('sheet1', function($sheet) {
            $data = array(
                array('header1', 'header2','header3','header4','header5','header6','header7'),
                array('data1', 'data2', 300, 400, 500, 0, 100),
                array('data1', 'data2', 300, 400, 500, 0, 100),
                array('data1', 'data2', 300, 400, 500, 0, 100),
                array('data1', 'data2', 300, 400, 500, 0, 100),
                array('data1', 'data2', 300, 400, 500, 0, 100),
                array('data1', 'data2', 300, 400, 500, 0, 100)
            );
            $sheet->fromArray($data, null, 'A1', false, false);
            $sheet->cells('A1:G1', function($cells) {
            $cells->setBackground('#AAAAFF');

            });
        });
    })->download('xlsx');
}

你们提供 Laravel-Excel,它是基于 PHP-Excel 构建的。我的问题是它是否具有 PHP-Excel 的功能? - jamal

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接