Laravel-excel: Precisa ser capaz de carregar um arquivo de modelo e ler e editar células específicas

Criado em 11 jun. 2015  ·  3Comentários  ·  Fonte: Maatwebsite/Laravel-Excel

Tenho um problema com um projeto no qual estou trabalhando. Tenho que usar um arquivo de modelo específico do Excel para enviar dados via ftp para um parceiro de integração de terceiros com o qual estamos trabalhando. O único formato que seu sistema pode aceitar são documentos xlsx.

O problema é que eles têm muitos dados acima dos cabeçalhos das colunas, então basicamente preciso ser capaz de editar esses arquivos célula por célula. Alguém pode me dar um grande exemplo de código para que eu possa direcionar células específicas? Talvez algo como célula ("B1") ou linha (5) -> coluna (5)?

Estive olhando a documentação do maatsoftware e não consigo encontrar nada específico sobre ele. Eu encontrei uma referência a fazer algo assim com a biblioteca excel do phpOffice, mas não tenho certeza de como chamar isso por meio desta biblioteca. Estou usando o Laravel 4.2. Meu projeto foi iniciado antes do lançamento do Laravel5, então estou meio que preso na arena do laravel 4.2.

Agradecemos antecipadamente por qualquer ajuda.

Wade

Comentários muito úteis

Oi,

não foi muito fácil descobrir, mas finalmente consegui. Eu precisava usar var_dump (get_class_methods ($ reader)); muitas vezes até encontrar o método correto.

$reader->getExcel()->getSheet()->getCell('C7')->getValue() 
 \Excel::selectSheets('Configuration')->load($file->getRealPath(), function($reader) {              
        $reader->getExcel()->getSheet()->getCell('C7')->getValue() ;            
});

pode ser útil para alguém.

Todos 3 comentários

Você pode chamar os métodos nativos PHPExcel neste pacote.
Você pode encontrar os métodos de wrapper em nossa documentação: http://www.maatwebsite.nl/laravel-excel/docs/export#rows (seções Manipulação de linha e célula)

Oi,

não foi muito fácil descobrir, mas finalmente consegui. Eu precisava usar var_dump (get_class_methods ($ reader)); muitas vezes até encontrar o método correto.

$reader->getExcel()->getSheet()->getCell('C7')->getValue() 
 \Excel::selectSheets('Configuration')->load($file->getRealPath(), function($reader) {              
        $reader->getExcel()->getSheet()->getCell('C7')->getValue() ;            
});

pode ser útil para alguém.

Obrigado a todos. Eu encontrei um método que funcionou para mim também hoje.

$ excel-> getActiveSheet () -> getCellByColumnAndRow ($ col-1, $ row-1) -> getValue ()
e
$ excel-> getActiveSheet () -> setCellValueByColumnAndRow ($ field [$ key], $ startRow + 1, $ value)

Não consegui fazer a função getCell () funcionar, mas vou dar uma chance ao seu método.

Obrigado!

Esta página foi útil?
0 / 5 - 0 avaliações