
Microsoft Excel consente di dividere il testo in più colonne utilizzando separatori come spazi vuoti, virgole o altri caratteri. Questa funzionalità può essere utile in scenari come la conversione dei dati separati da virgole esportati da una tabella di database in formato tabulare. A tal fine, questo articolo ti insegnerà come dividere il testo in colonne nei file Excel usando C++.
- API C++ per dividere il testo in colonne nei file Excel
- Suddivisione del testo in colonne nei file Excel utilizzando C++
API C++ per dividere il testo in colonne nei file Excel
Useremo l’API Aspose.Cells for C++ per dividere il testo in colonne nei file Excel. È una libreria nativa C++ che consente di creare, leggere e modificare file Excel senza richiedere l’installazione di Microsoft Excel. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione Download.
PM> Install-Package Aspose.Cells.Cpp
Dividi il testo in colonne nei file Excel usando C++
Di seguito sono riportati i passaggi per dividere il testo in colonne nei file Excel.
- Crea un’istanza della classe IWorkbook.
- Accedi al foglio di lavoro in cui desideri dividere il testo utilizzando il metodo IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Inserisci i dati di esempio nel foglio di lavoro.
- Crea un’istanza della classe ITxtLoadOptions.
- Specificare il carattere che verrà utilizzato per dividere il testo utilizzando il metodo ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value).
- Dividi il testo in colonne usando la IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32 row, Aspose::Cells::Systems::Int32 column, Aspose::Cells::Systems: :Int32 totalRows, intrusiveptrAspose::Cells::ITxtLoadOptions opzioni).
- Salvare il file Excel utilizzando IWorkbook->Salva (intrusiveptrAspose::Cells::Systems::String nomefile).
Il codice di esempio seguente illustra come dividere il testo in colonne nei file di Excel usando C++.
// Percorso della directory di origine.
StringPtr srcDir = new String("SourceDirectory\\");
// Percorso della directory di output.
StringPtr outDir = new String("OutputDirectory\\");
// Percorso del file excel di output
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));
// Crea un'istanza della classe IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Accedi al primo foglio di lavoro
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Aggiungi dati di esempio
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);
// Crea un'istanza della classe ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();
// Specificare il separatore per separare il testo
options->SetSeparator(' ');
// Dividi il testo in colonne
worksheet->GetICells()->TextToColumns(0, 0, 5, options);
// Salva il file excel di output
workbook->Save(outputFile);

Immagine del file Excel di output che mostra il testo diviso in due colonne
Ottieni una licenza gratuita
Per provare l’API senza limitazioni di valutazione, puoi richiedere una licenza temporanea gratuita.
Conclusione
In questo articolo, hai imparato come dividere il testo in più colonne nei file Excel usando C++. Hai visto lo snippet di codice completo insieme ai passaggi necessari per raggiungere questo obiettivo. Aspose.Cells per C++ è un’API robusta che fornisce molte funzionalità aggiuntive per automatizzare le attività relative a Excel. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.