Microsoft Excel gör det möjligt att dela upp text i flera kolumner med avgränsare som blanksteg, kommatecken eller andra tecken. Den här funktionen kan vara användbar i scenarier som att konvertera de kommaseparerade data som exporteras från en databastabell till tabellform. För detta ändamål kommer den här artikeln att lära dig hur du delar upp text i kolumner i Excel-filer med C++.
C++ API för att dela text till kolumner i Excel-filer
Vi kommer att använda Aspose.Cells for C++ API för att dela upp text i kolumner i Excel-filer. Det är ett inbyggt C++-bibliotek som låter dig skapa, läsa och ändra Excel-filer utan att behöva installera Microsoft Excel. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet Nedladdningar.
PM> Install-Package Aspose.Cells.Cpp
Dela upp text i kolumner i Excel-filer med C++
Följande är stegen för att dela upp text i kolumner i Excel-filer.
- Skapa en instans av klassen IWorkbook.
- Gå till kalkylbladet där du vill dela texten med metoden IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Infoga exempeldata i kalkylbladet.
- Skapa en instans av klassen ITxtLoadOptions.
- Ange tecknet som ska användas för att dela texten med metoden ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value).
- Dela upp texten i kolumner med hjälp av IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32 rad, Aspose::Cells::Systems::Int32 kolumnen, Aspose::Cells::Systems: :Int32 totalRows, intrusiveptrAspose::Cells::ITxtLoadOptions alternativ) metod.
- Spara Excel-filen med hjälp av IWorkbook->Spara (intrusiveptrAspose::Cells::Systems::String filnamn) metod.
Följande exempelkod visar hur man delar upp text i kolumner i Excel-filer med C++.
// Källkatalogens sökväg.
StringPtr srcDir = new String("SourceDirectory\\");
// Utdatakatalogsökväg.
StringPtr outDir = new String("OutputDirectory\\");
// Sökväg för utdata excel-filen
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));
// Skapa en instans av IWorkbook-klassen
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Öppna det första arbetsbladet
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Lägg till exempeldata
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);
// Skapa en instans av klassen ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();
// Ange avgränsaren för att separera texten
options->SetSeparator(' ');
// Dela text till kolumner
worksheet->GetICells()->TextToColumns(0, 0, 5, options);
// Spara den utgående excel-filen
workbook->Save(outputFile);
Skaffa en gratis licens
För att prova API utan utvärderingsbegränsningar kan du begära en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du delar upp text i flera kolumner i Excel-filer med C++. Du har sett hela kodavsnittet tillsammans med de steg som krävs för att uppnå detta. Aspose.Cells för C++ är ett robust API som ger många ytterligare funktioner för att automatisera dina Excel-relaterade uppgifter. Du kan utforska API:et i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.