Dividir texto en columnas en archivos de Excel usando C++

Microsoft Excel permite dividir el texto en varias columnas utilizando separadores como espacios en blanco, comas u otros caracteres. Esta función puede ser útil en situaciones como la conversión de datos separados por comas exportados desde una tabla de base de datos a formato tabular. Con ese fin, este artículo le enseñará cómo dividir texto en columnas en archivos de Excel usando C++.

API de C++ para dividir texto en columnas en archivos de Excel

Usaremos la API Aspose.Cells for C++ para dividir el texto en columnas en archivos de Excel. Es una biblioteca nativa de C++ que le permite crear, leer y modificar archivos de Excel sin necesidad de instalar Microsoft Excel. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.Cells.Cpp

Dividir texto en columnas en archivos de Excel usando C++

Los siguientes son los pasos para dividir texto en columnas en archivos de Excel.

El siguiente código de ejemplo demuestra cómo dividir texto en columnas en archivos de Excel usando C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");

// Ruta del archivo de salida de Excel
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));

// Crear una instancia de la clase IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Accede a la primera hoja de trabajo
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Agregar datos de muestra
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);

// Crear una instancia de la clase ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();

// Especificar el separador para separar el texto
options->SetSeparator(' ');

// Dividir texto en columnas
worksheet->GetICells()->TextToColumns(0, 0, 5, options);

// Guarde el archivo de Excel de salida
workbook->Save(outputFile);
Imagen del archivo de salida de Excel que muestra el texto dividido en dos columnas

Imagen del archivo de salida de Excel que muestra el texto dividido en dos columnas

Obtenga una licencia gratis

Para probar la API sin limitaciones de evaluación, puede solicitar una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a dividir texto en varias columnas en archivos de Excel usando C++. Ha visto el fragmento de código completo junto con los pasos necesarios para lograrlo. Aspose.Cells for C++ es una API robusta que proporciona muchas características adicionales para automatizar sus tareas relacionadas con Excel. Puede explorar la API en detalle visitando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también