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.

Compartilhe:

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 *