简体   繁体   English

如何将phpexcel集成到silex框架?

[英]How to integrate phpexcel to silex framework?

I put phpexcel to /silex/vendor/ 我把phpexcel放到/ silex / vendor /

index.php: index.php文件:

 <?php
require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();
$app->register(new Silex\Provider\PHPExel());
$app->get('/hello', function() {
    $objPHPExcel = \PHPExcel::newInstance();
    $objPHPExcel = $objReader->load('123.xls');
    return 'Hello!';
});

$app->run();

Fatal error: Class 'Silex\\Provider\\PHPExel' not found

you can install PHPexcel via composer, see https://github.com/ddeboer/phpexcel . 您可以通过composer安装PHPexcel,请参阅https://github.com/ddeboer/phpexcel To use PHPExcel via composer simply create a new instance in your code: 要通过composer使用PHPExcel,只需在代码中创建一个新实例:

$phpExcel = new \PHPExcel();

I just wrote a Silex Service Provider for integrating PHPExcel with Silex: https://github.com/Jaza/ExcelServiceProvider 我刚刚写了一个Silex服务提供程序,用于将PHPExcel与Silex集成: https : //github.com/Jaza/ExcelServiceProvider

Should be dead simple to start using PHPExcel within Silex, using this package. 使用此软件包开始在Silex中使用PHPExcel应该很简单。

First, register your own namespace: 首先,注册您自己的名称空间:

$app['autoloader']->registerNamespace('MyNamespace', __DIR__.'../lib' );

(Put PHPExcel file in the folder "lib" in my example) (在我的示例中,将PHPExcel文件放入文件夹“ lib”中)

2 - Add the namespace at the beginning of PHPExcel file: 2-在PHPExcel文件的开头添加名称空间:

   namespace MyNamespace;

(If PHPExcel is in a subfolder, don't forget to add it in the namespace path !) (如果PHPExcel在子文件夹中,请不要忘记将其添加到名称空间路径中!)

3 - Use this namespace in your main file: 3-在主文件中使用以下名称空间:

use MyNamespace\PHPExcel as PHPExcel;

The main file code: 主要文件代码:

<?php
require_once __DIR__.'/../vendor/autoload.php';

use MyNamespace\PHPExcel as PHPExcel;

$app = new Silex\Application();
$app['autoloader']->registerNamespace('MyNamespace', __DIR__.'../lib' );
$app->register(new PHPExcel());

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM