Módulo para facilitar a exportação de registros via ORM para CSV.
Requisitos
- Kohana 3.2
- ORM Module
Instalação e configuração
Instalação
Faça download do módulo diretamente a partir do GitHub.
O módulo deve ser uma nova pasta dentro do diretório “modules” do framework, para isso você pode clonar ou adicionar um submódulo do git ao seu projeto.
No arquivo “application/bootstrap.php” você deverá configurar o novo módulo:
Kohana::modules(array(
...
'csvexport' => MODPATH.'csv-export',
...
));
Configuração
Caso você possua alguma necessidade de configuração diferente do padrão do módulo, você pode copiar o arquivo de exemplo da configuração para sua aplicação e altera-lo conforme sua necessidade.
/modules/csv-export/config/csvexport.php
para
/application/config/csvexport.php
return array(
// Caminho relativo onde serão gravados os arquivos .csv exportados, necessita da barra no final
// Esse diretório não necessita ser criado, o módulo faz isso
'export_dir' => 'export/csv/',
);
Como utilizar
Exemplo 1
$rows = ORM::factory('model')->find_all();
CSVExport::factory($rows);
Dessa forma será criado um arquivo .csv com nome único no diretório que estiver na configuração do módulo contendo todos os registros do seu model.
Exemplo 2
$rows = ORM::factory('model')->find_all();
$fields = array(
'id' => 'ID',
'nome' => 'Nome',
);
CSVExport::factory($rows, $fields);
Se adicionarmos um array contendo alguns campos da tabela, será criado um arquivo .csv apenas com os campos citados na declaração do array.
Exemplo 3
$rows = ORM::factory('model')->find_all();
CSVExport::factory($rows, null, 'csv/lista.csv', true/false);
Podemos passar também o destino e nome do arquivo (‘csv/lista.csv’) que deseja ser criado, assim como um quarto parâmetro boleano que permite definir se será feito download do arquivo ou se retornará um link para o arquivo gerado.
