CSV para XLSX conversão em Java é uma necessidade frequente quando as aplicações precisam trocar dados com usuários do Excel. O Aspose.HTML Cloud SDK for Java fornece uma API poderosa baseada em nuvem que lida com essa transformação de forma eficiente. Neste guia você verá como configurar a dependência Maven, ler dados CSV com streams, gerar uma pasta de trabalho XLSX e invocar a conversão através da API REST. Ao final, você terá um exemplo completo e pronto para produção que pode adaptar aos seus próprios projetos.
Pré-requisitos e Configuração
Antes de começar, certifique‑se de que você tem o seguinte:
- Java 17 ou posterior instalado.
- Uma conta Aspose Cloud com ID do cliente e segredo do cliente.
- Maven instalado para gerenciamento de dependências.
Adicione o Aspose.HTML Cloud SDK for Java ao seu projeto:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-html-cloud</artifactId>
<version>23.12</version>
</dependency>
Alternativamente, você pode instalar o pacote diretamente a partir da linha de comando:
mvn install com.aspose:aspose-html-cloud
Baixe os binários mais recentes do SDK na página de download. Depois que a dependência for resolvida, você está pronto para começar a codificar. A próxima seção orienta você passo a passo na implementação.
Conversão de CSV para XLSX em Java: Guia passo a passo
Etapa 1: Carregar o CSV de origem usando Java Streams
Ler o CSV linha por linha mantém o uso de memória baixo, o que é essencial para arquivos grandes.
Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
Etapa 2: Inicializar o cliente Aspose.HTML Cloud
Crie uma instância de cliente com suas credenciais. A classe do cliente está documentada na referência da API.
HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");
Etapa 3: Converter conteúdo CSV para XLSX
O SDK aceita os dados CSV como uma string e retorna um fluxo binário XLSX.
String csvContent = String.join("\n", csvLines);
ConvertDocumentRequest request = new ConvertDocumentRequest()
.outputFormat("xlsx")
.inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);
Etapa 4: Salvar o Arquivo XLSX Resultante
Escreva o array de bytes retornado em um arquivo no disco.
Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);
Etapa 5: Verificar a Conversão (Opcional)
Você pode abrir rapidamente o arquivo gerado com o Apache POI ou qualquer visualizador de planilhas para garantir que os dados estejam formatados corretamente.
Exemplo de Código Completo: Conversão de CSV para XLSX com Aspose.HTML Cloud SDK
O programa a seguir reúne todas as etapas em uma única classe executável.
import java.nio.file.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import com.aspose.html.cloud.api.HtmlApi;
import com.aspose.html.cloud.model.ConvertDocumentRequest;
public class CsvToXlsxConverter {
public static void main(String[] args) throws Exception {
// 1. Load CSV file
Path csvPath = Paths.get("input.csv");
List<String> csvLines = Files.readAllLines(csvPath, StandardCharsets.UTF_8);
String csvContent = String.join("\n", csvLines);
// 2. Initialise Aspose.HTML Cloud client
HtmlApi htmlApi = new HtmlApi();
htmlApi.getConfiguration().setClientId("YOUR_CLIENT_ID");
htmlApi.getConfiguration().setClientSecret("YOUR_CLIENT_SECRET");
// 3. Convert CSV to XLSX
ConvertDocumentRequest request = new ConvertDocumentRequest()
.outputFormat("xlsx")
.inputFileContent(csvContent.getBytes(StandardCharsets.UTF_8));
byte[] xlsxBytes = htmlApi.convertDocument(request);
// 4. Save XLSX file
Path xlsxPath = Paths.get("output.xlsx");
Files.write(xlsxPath, xlsxBytes);
System.out.println("Conversion completed. XLSX saved to " + xlsxPath.toAbsolutePath());
}
}
Nota: Este exemplo de código demonstra a funcionalidade principal. Antes de usá‑lo em seu projeto, certifique‑se de atualizar os caminhos dos arquivos (
input.csv,output.xlsx), verifique se todas as dependências necessárias estão devidamente instaladas e teste minuciosamente em seu ambiente de desenvolvimento. Se encontrar algum problema, consulte a documentação oficial ou entre em contato com a equipe de suporte para obter assistência.
Usando cURL para chamar Aspose.HTML Cloud para geração de XLSX
A mesma conversão pode ser realizada via a API REST. Abaixo estão os comandos cURL necessários.
- Autenticar e Obter Token de Acesso
curl -X POST "https://api.aspose.cloud/connect/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"
A resposta contém um access_token que você usará nas chamadas subsequentes.
- Carregar o arquivo CSV
curl -X POST "https://api.aspose.cloud/v4.0/html/storage/file/input.csv" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@input.csv"
- Execute a Conversão
curl -X POST "https://api.aspose.cloud/v4.0/html/convert?outputFormat=xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"inputPath":"input.csv"}' \
-o output.xlsx
- Baixe o arquivo XLSX (se você escolheu um local de saída diferente)
curl -X GET "https://api.aspose.cloud/v4.0/html/storage/file/output.xlsx" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.xlsx
Para uma lista completa de parâmetros, veja a documentação oficial da API.
Considerações de Desempenho para Conversões de CSV Grandes para XLSX
- Transmitir a Entrada CSV - Use
Files.linesou um leitor buffered para processar linhas uma de cada vez em vez de carregar o arquivo inteiro na memória. - Envios em Lote - Ao lidar com arquivos maiores que 100 MB, divida o CSV em partes menores e converta cada parte separadamente, depois mescle as partes XLSX resultantes, se necessário.
- Habilitar Conversão Assíncrona - Anexe o parâmetro de consulta
async=trueà solicitação de conversão para que o serviço em nuvem processe o arquivo em segundo plano, reduzindo o tempo de espera do cliente. - Ajustar Configurações de Saída - Defina o sinalizador
preserveFormattingcomofalsese você não precisar de estilos de célula exatos; isso reduz o tamanho da carga útil e acelera a conversão.
Conclusão
Este guia demonstrou como realizar a conversão de CSV para XLSX em Java usando o Aspose.HTML Cloud SDK for Java. Você aprendeu como configurar o Maven, ler dados CSV com streams, chamar a API da nuvem e lidar com arquivos grandes de forma eficiente. Lembre‑se de que uma licença comercial é necessária para uso em produção; você pode obter uma licença temporária na página de licença temporária e revisar as opções completas de preços na página do produto. Com essas ferramentas em mãos, você pode integrar funcionalidade de CSV‑para‑XLSX sem interrupções em qualquer aplicação Java.
FAQs
-
Qual é a melhor maneira de lidar com arquivos CSV que contêm vírgulas dentro de campos entre aspas?
Use um analisador CSV robusto, como o Apache Commons CSV, antes de enviar os dados para a API de conversão. O analisador respeita delimitadores entre aspas, garantindo a extração precisa das linhas. -
O Aspose.HTML Cloud SDK suporta saída XLSX sem uma etapa intermediária de HTML?
Sim. O métodoconvertDocumentpode aceitar conteúdo CSV bruto e gerar diretamente um arquivo XLSX, como mostrado nos exemplos de código. -
Posso executar a conversão localmente sem usar a nuvem?
O Aspose.HTML Cloud SDK é um serviço baseado em nuvem, portanto é necessária uma conexão à internet e credenciais válidas. Para cenários on‑premise, considere o Aspose.Cells, que é um produto separado. -
Como monitorar o status de uma solicitação de conversão assíncrona?
A API retorna um ID de trabalho quandoasync=trueé usado. Interrogue o endpoint/jobs/{jobId}para verificar o status e, em seguida, faça o download do resultado quando o trabalho for concluído.