gerar CSV com alguns campos da GRID

Bom dia, estou com o seguinte problema:
Tenho uma aplicacao do tipo GRID CONSULTA, onde fiz algumas modificacoes para filtrar registros por data, nessa aplicacao eu visualizo varios campos, porem me foi solicitado a gerar 1 arquivo CSV com apenas determinados campos e com cabeçalho.
como pegar o resultado do sql filtrado? como o scriptcase guarda essas informacoes?
minha ideia inicial seria uma rotina desse tipo:(porem estou aberto a novas ideias)

  • o filtro ja existe, mas nao sei onde encontrar, estou colocando aqui uma variavel apenas para demonstracao
    $sql = filtro ja feito pelo scriptcase;
    sc_select(rs1, $sql);
    While (!$rs1->eof) {
    $list[] = $rs1->fields[0].’,’.$rs1->fields[1].’,’.$rs1->fields[5].’,’.$rs1->fields[10].’,’;
    }

// “w” = Abre somente para escrita; coloca o ponteiro do arquivo no começo do arquivo e reduz o comprimento do arquivo para zero.
// Se o arquivo não existir, tenta criá-lo.
//fputcsv — Formata a linha como CSV e a escreve em um ponteiro de arquivo
//fclose - fecha o arquivo

$file = fopen(“caminho/arquivo.csv”,“w”);
foreach ($list as $line) {
fputcsv($file,split(’,’,$line));
}
fclose($file);