Convertendo arquivos de Microsoft Excel (extensão .xls) em arquivos .csv (Comma Separated Values)

A dica de hoje é bem voltada para quem usa Linux. E pode ser útil para quem precisa fazer conversões de arquivos com extensão .xls (pasta de trabalho do Microsoft Excel) para arquivos .csv (comma separated values).

Muitas vezes, os programadores encontram dificuldades quando deparam-se com certos formatos de arquivo, principalmente com um formato feito exclusivamente para um programa, como o caso do .xls. O Microsoft Office é um programa pago e embora existam alternativas gratuitas (Open Office e BrOffice, por exemplo), muitas vezes o programador precisa manipular uma quantidade grande de arquivos.

Enquanto tentava resolver meus problemas de programação, descobri o xls2csv. Após ler a documentação, descobri que ele poderia ser uma ótima alternativa para mim. O problema é que existem dois xls2csv e isso pode confundir muito. Eles possuem opções diferentes e foram desenvolvidos por pessoas diferentes.

O primeiro xls2csv vem com o pacote catdoc, facilmente instalável para quem possui a distribuição Ubuntu (que é a que tenho mais afinidade). Basta dar uma busca pelo pacote no próprio gerenciador e ele é instalado automaticamente. Mais informações sobre este xls2csv podem ser obtidas aqui. A linha de comando para a conversão é muito fácil:

$ xls2csv myfile.xls > myfile.csv

Entretanto, esse xls2csv que vem com o catdoc não atendia aquilo que eu precisava. Eu estava trabalhando com uma pasta de trabalho com múltiplas planilhas e eu não queria fazer a conversão de todas essas planilhas. Algumas delas simplesmente não me interessavam, possuiam informações irrelevantes ou repetidas. Então eu queria uma opção que me permitisse discriminar qual planilha eu desejava converter.

Foi então que descobri o outro xls2csv (desenvolvido por Ken Prows). Esse atendia exatamente as minhas necessidades, pois possui uma opção de escolha da planilha que será alvo da conversão. Segundo algumas pesquisas que fiz, esse xls2csv também lida melhor com datas. Por outro lado, a instalação é bem mais complicada. Você precisa instalar diversos módulos de Perl. Eu não anotei quais, simplesmente fui instalando (fazendo a busca no manager, do Ubuntu) todos os pacotes de Perl. De acordo com a página oficial, os módulos necessários são:

        Locale::Recode
        Unicode::Map
        Spreadsheet::ParseExcel
        Spreadsheet::ParseExcel::FmtUnicode
        (should be included with Spreadsheet::ParseExcel)
        Text::CSV_XS

Então instalei todos esses módulo e a instalação funcionou. Uma dica importantíssima: leia toda a documentação, sempre. Ao ler a documentação, descobre-se como a instalação deve ser feita e qual a maneira correta. Todos aqueles querem iniciar no Linux (seja qual for a distribuição) precisa gostar de ler e precisa saber inglês, nem que for o básico, já que o aprendizado é construído. Não pode ter preguiça de aprender, isso é muito importante.

Bom pessoal, acho que é isso. Estou começando agora com essas dicas relacionadas a computação/programação e não sei bem o que escrever. Estou colaborando com aquilo que me ajudou no trabalho e assim posso dividir com quem também precisa de ajuda.