Dividir texto em colunas em arquivos do Excel usando C++

O Microsoft Excel permite dividir o texto em várias colunas usando separadores como espaço em branco, vírgula ou outros caracteres. Esse recurso pode ser útil em cenários como a conversão de dados separados por vírgulas exportados de uma tabela de banco de dados para o formato tabular. Para esse fim, este artigo ensinará como dividir o texto em colunas em arquivos do Excel usando C++.

API C++ para dividir texto em colunas em arquivos do Excel

Usaremos a API Aspose.Cells for C++ para dividir o texto em colunas nos arquivos do Excel. É uma biblioteca nativa de C++ que permite criar, ler e modificar arquivos do Excel sem exigir a instalação do Microsoft Excel. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.

PM> Install-Package Aspose.Cells.Cpp

Dividir texto em colunas em arquivos do Excel usando C++

A seguir estão as etapas para dividir o texto em colunas em arquivos do Excel.

O código de exemplo a seguir demonstra como dividir texto em colunas em arquivos do Excel usando C++.

// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");

// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");

// Caminho do arquivo excel de saída
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));

// Crie uma instância da classe IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Acesse a primeira planilha
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Adicionar dados de amostra
intrusive_ptr<String> str = new String("John Teal");
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(str);
str = new String("Peter Graham");
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(str);
str = new String("Brady Cortez");
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(str);
str = new String("Mack Nick");
worksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue(str);
str = new String("Hsu Lee");
worksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue(str);

// Crie uma instância da classe ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();

// Especifique o separador para separar o texto
options->SetSeparator(' ');

// Dividir texto em colunas
worksheet->GetICells()->TextToColumns(0, 0, 5, options);

// Salve o arquivo excel de saída
workbook->Save(outputFile);
Imagem do arquivo Excel de saída mostrando o texto dividido em duas colunas

Imagem do arquivo Excel de saída mostrando o texto dividido em duas colunas

Obtenha uma licença gratuita

Para experimentar a API sem limitações de avaliação, você pode solicitar uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como dividir o texto em várias colunas em arquivos do Excel usando C++. Você viu o snippet de código completo junto com as etapas necessárias para fazer isso. Aspose.Cells para C++ é uma API robusta que fornece muitos recursos adicionais para automatizar suas tarefas relacionadas ao Excel. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também