Quando o sistema utiliza autoload e incluímos a classe do PhpExcel ocorre um erro de inclusão de arquivo no spl_autoload Warning: require_once(PHPExcel_Shared_ZipStreamWrapper.php);

Isso ocorre pois não se pode setar mais de uma classe autoload por vez. Para corrigir isso é necessário desativar a classe autoload existente para que o PhpExcel possa instanciar sua classe autload e incluir corretamente suas classes. Lembrando que você só pode desativar sua classe autoload após instanciar todas as classes que você irá precisar no arquivo.

Veja o Exemplo abaixo:

	//instancia todas as classes necessarias
	$myUsersClass = new UsersClass();
	$myClientsClass = new ClientsClass();

	//Desativa __autoload para nao bugar o PHPExcel
	spl_autoload_unregister('__autoload');

	/** PHPExcel */
	include DIR."plugins/php_excel/PHPExcel.php";

	/** PHPExcel_Writer_Excel2007 */
	include  DIR."plugins/php_excel/PHPExcel/Writer/Excel2007.php";

	// Create new PHPExcel object
	$objPHPExcel = new PHPExcel();

O mesmo se aplica a classe spl_autoload(), pode se usar o mesmo conceito, basta utilizar spl_autoload_unregister(‘nome_da_sua_autoload”);
Espero ter ajudado.

One thought to “PhpExcel autoload error (PHPExcel_Shared_ZipStreamWrapper.php)”

  • alexandre

    Qual o editor que voce usa nos seus codigo Php, esse que tem no print da tela , eu gostei , me passa o nome por favor

    grato

    Alex

    Responder

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /home/rafaeltheodoro/www/wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048