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
- Dividindo 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.
- Crie uma instância da classe IWorkbook.
- Acesse a planilha onde deseja dividir o texto usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Insira dados de amostra na planilha.
- Crie uma instância da classe ITxtLoadOptions.
- Especifique o caractere que será usado para dividir o texto usando o método ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value).
- Divida o texto em colunas usando a IWorksheet->GetICells()->TextToColumns(linha Aspose::Cells::Systems::Int32, coluna Aspose::Cells::Systems::Int32, coluna Aspose::Cells::Systems: :Int32 totalRows, intrusiveptrAspose::Cells::ITxtLoadOptions opções).
- Salve o arquivo Excel usando o IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) método.
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);
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.