CSV contém os valores separados por vírgulas, normalmente usados para armazenar dados tabulares sem formatação. Esses arquivos podem ser visualizados em qualquer editor de texto e também no MS Excel para formato tabular. Por outro lado, os formatos mais usados para arquivos MS Excel são XLS e XLSX. Esses formatos suportam inúmeras opções de formatação. Este artigo discute a conversão das planilhas do Excel do formato XLS/XLSX para o formato CSV e do formato **CSV para XLS/XLSX **programaticamente usando Java.
Os seguintes tópicos são abordados abaixo:
API Java para arquivos do Excel e conversão CSV
GroupDocs.Conversion oferece API Java que permite a conversão de formatos de planilhas entre si. Estarei usando esta API para converter XLSX em CSV e também CSV em XLS ou XLSX usando Java. Além disso, a API permite a conversão para frente e para trás de muitos outros formatos de documentos e imagens como documentos de processamento de texto, apresentações, eBooks, JPG, PNG, WebP e muito mais.
Baixe ou configure
Você pode baixar o arquivo JAR da seção de downloads, ou apenas obter as configurações de repositório e dependência para o pom.xml de seus aplicativos Java baseados em maven.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-conversion</artifactId>
<version>21.7</version>
</dependency>
Converter CSV para Excel (XLS/XLSX) em Java
A transformação de dados separados por vírgulas no formato tabular para uma melhor apresentação requer a conversão do formato CSV para XLS/XLSX. As etapas a seguir permitem converter os arquivos CSV para o formato XLS/XLSX dentro do aplicativo Java.
- Prepare as opções de carregamento para carregar o arquivo CSV.
- Carregue o CSV usando a classe Converter.
- Defina o formato de conversão para XLSX usando SpreadsheetConvertOptions.
- Chame o método convert para transformar os dados CSV no formato XLSX.
O código a seguir mostra como converter seu arquivo CSV no formato XLSX em Java.
// Converta arquivos CSV para o formato XLS/XLSX em Java
CsvLoadOptions loadOptions = new CsvLoadOptions();
loadOptions.setSeparator(',');
Converter converter = new Converter("path/comma-sparated-values.csv", loadOptions);
SpreadsheetConvertOptions options = new SpreadsheetConvertOptions();
options.setFormat(SpreadsheetFileType.Xlsx);
converter.convert("path/spreadsheet.xlsx", options);
Para o formato XLS, basta definir o formato de conversão de acordo e fornecer o nome de arquivo apropriado com a extensão.
Converter Excel (XLS/XLSX) para CSV em Java
Da mesma forma, se a formatação não for necessária, você pode remover os estilos e visuais e simplesmente manter os dados separados por vírgulas convertendo o formato XLS/XLSX para CSV e economizando espaço.
As etapas a seguir permitem converter o formato XLS ou XLSX para CSV dentro dos aplicativos Java.
- Carregue o arquivo Excel (XLS ou XLSX) usando a classe Converter.
- Defina o formato de conversão para CSV usando SpreadsheetConvertOptions.
- Chame o método convert para transformar os dados da planilha no formato CSV.
O código a seguir mostra como converter o formato XLS ou XLSX para CSV em Java.
// Converter planilhas do Excel para o formato CSV de valores separados por vírgulas em Java
Converter converter = new Converter("path/spreadsheet.xlsx");
SpreadsheetConvertOptions options = new SpreadsheetConvertOptions();
options.setFormat(SpreadsheetFileType.Csv); // Specify the conversion format
converter.convert("path/convertedfile.csv", options);
Obtenha uma licença de API gratuita
Você pode obter uma licença temporária gratuita para usar a API sem as limitações de avaliação.
Conclusão
Para concluir, você aprendeu a converter os arquivos do MS Excel para o formato CSV e também a conversão de arquivos CSV para o formato XLS e XLSX programaticamente com seus aplicativos Java. Você pode aprender mais sobre a Java Conversion API usando a documentação ou por exemplos disponíveis no GitHub. Entre em contato conosco para qualquer dúvida no fórum.