Exportar como arquivo CSV

Comma-separated values (ou CSV) é uma implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores. O formato também usa as aspas em campos no qual são usados os caracteres reservados (vírgula e quebra de linha). Essa robustez no formato torna o CSV mais amplo que outros formatos digitais do mesmo segmento. Embora não exista uma especificação formal do formato CSV, o RFC 4180 descreve um formato comum e estabelece text/csv como um tipo MIME registrado na IANA. Formalmente, o CSV é um formato de dados delimitado que possui campos (colunas) separados por caracteres de vírgula [ou ponto e vírgula ou outro] e registros (linhas) separados por caracteres de quebra de linha. Campos que contêm caracteres especiais (vírgula, quebra de linha ou aspas) devem ser envolvidos em aspas. (FONTE: Wikipedia)

Lembro que comentei em um vídeo que a exportação para um arquivo CSV criava sempre um arquivo com todos os registros, independente de como os estávamos tratando na lista (com uma pesquisa avançada, por exemplo). Isso não é verdade e vou mostrar nessa aula as principais configurações que poderemos aplicar à exportação CSV para termos um bom resultado em nosso sistema, principalmente para a confecção de relatórios.

As configurações acontecem sempre nas propriedades da Lista, no item CSV (comentarei somente os mais importantes, ok?):

exportar csv configuracao

 Importar CSV: Define qual Nível de Acesso poderá importar dados para o sistema utilizando um arquivo CSV. Isso pode ser interessante quando você exporta de um sistema e deseja importar em outro. Desde que a tabela tenha as mesmas características isso pode ser uma boa opção, mas não é o nosso caso nessa aula.

Exportar CSV Frontend: Define o Nível de Acesso que poderá exportar os dados para um arquivo CSV.

Formato do cabeçalho: Aqui escolhemos de que forma as colunas serão identificadas no arquivo CSV exportado:

  • Nome do elemento curto - somente o nome do campo
  • Nome do elemento completo - nome da tabela e nome do campo
  • Rótulo do elemento - somente o rótulo do elemento

Passo exportação: define o número de interações que serão feitas com o banco a cada "passada". Evita que ocorram erros por um tempo muito grande no processamento, que fica partido em n registros de cada vez.

Personalizar QS: Se você desejar personalizar a Query String e realizar um filtro para o CSV preencha esse campo. Deixe em branco para permitir que o usuário possa interagir (configurando os outros campos para permitir isso, claro).

Opções do Frontend: Se marcado "Yes", permitirá que o usuário possa interagir definindo. por exemplo, quais campos serão exportados. Se deixar "No", você poderá interagir em "Elementos", definindo quais campos farão parte do arquivo CSV (o que eu acho mais coerente).

Incluir filtros: Marque "Yes" para que o CSV seja gerado somente com os registros contemplatos nos filtros aplicados, por exemplo, pelo pré-filtro do item de menu ou pela busca avançada. Essa opção desmente a minha afirmação de que sempre seria toda a tabela.

Wich Elements: define se somente os elementos selecionados, somente os visíveis na lista ou todos os elementos serão exportados.

Elementos: Aqui você poderá escolher os elementos que farão parte da exportação. Por vezes podemos ter elementos apenas de controle, como um status do processo e que não precisam estar presentes no arquivo CSV exportado.

Incluir dados: Marque "Yes" para mostrar os dados, lembrando que se, por exemplo, um elemento para informar o sexo for uma selectbox onde o valor é 1 e o rótulo for masculino, será exportado masculino.

Incluir dados brutos: Vamos imaginar o elemento cidade, que é tipo DatabaseJoin. Armazenamos nele um valor (geralmente um id) e como rótulo mostramos um texto, para facilitar o preenchimento para o usuário. Nesse caso, o valor do id será exportado na coluna cidade_raw e o conteúdo de texto na coluna cidade. Para outros campos o valor para colunacoluna_raw é o mesmo. Para evitar essa duplicidade, deixe essa opção como "No".

File name: utilize se desejar que o arquivo possua um nome diferenciado. O padrão do fabrik é nomedalista-export.csv. Se quiser que seu arquivo informe a data em que foi criado (no formato Y-m-d), inclua "%s" (sem as aspas) no padrão para o nome do arquivo. Por exemplo: se hoje é 11/12/2018 e informo nesse campo o seguinte: exportacao-%s.csv (não esqueça a extensão!). O arquivo terá o seguinte nome: exportacao-2018-12-11.csv

File encoding: utilize o mesmo encode do Banco de Dados. Geralmente é UTF-8.

Acompanhe agora uma explanação em vídeo.