Microsoft Excel ermöglicht das Aufteilen von Text in mehrere Spalten mit Trennzeichen wie Leerzeichen, Kommas oder anderen Zeichen. Diese Funktion kann in Szenarien hilfreich sein, z. B. beim Konvertieren der durch Kommas getrennten Daten, die aus einer Datenbanktabelle in Tabellenform exportiert wurden. Zu diesem Zweck lernen Sie in diesem Artikel, wie Sie Text in Excel Dateien mit C++ in Spalten aufteilen.
- C++-API zum Aufteilen von Text in Spalten in Excel Dateien
- Aufteilen von Text in Spalten in Excel Dateien mit C++
C++-API zum Aufteilen von Text in Spalten in Excel Dateien
Wir verwenden die API Aspose.Cells for C++ zum Aufteilen von Text in Spalten in Excel Dateien. Es ist eine native C++ Bibliothek, mit der Sie Excel Dateien erstellen, lesen und ändern können, ohne dass Microsoft Excel installiert sein muss. Sie können die API entweder über NuGet installieren oder direkt aus dem Abschnitt Downloads herunterladen.
PM> Install-Package Aspose.Cells.Cpp
Text in Spalten in Excel Dateien mit C++ aufteilen
Im Folgenden sind die Schritte zum Aufteilen von Text in Spalten in Excel Dateien aufgeführt.
- Erstellen Sie eine Instanz der Klasse IWorkbook.
- Greifen Sie mit der methode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) auf das Arbeitsblatt zu, in dem Sie den Text aufteilen möchten.
- Beispieldaten in das Arbeitsblatt einfügen.
- Erstellen Sie eine Instanz der Klasse ITxtLoadOptions.
- Geben Sie das Zeichen an, das verwendet wird, um den Text mit der methode ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value) aufzuteilen.
- Teilen Sie den Text mithilfe von IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32 row, Aspose::Cells::Systems::Int32 column, Aspose::Cells::Systems: :Int32 totalRows, intrusiveptrAspose::Cells::ITxtLoadOptions Optionen) methode.
- Speichern Sie die Excel Datei mit IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) methode.
Der folgende Beispielcode zeigt, wie Text in Excel Dateien mit C++ in Spalten aufgeteilt wird.
// Quellverzeichnispfad.
StringPtr srcDir = new String("SourceDirectory\\");
// Verzeichnispfad ausgeben.
StringPtr outDir = new String("OutputDirectory\\");
// Pfad der ausgegebenen Excel Datei
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));
// Erstellen Sie eine Instanz der IWorkbook Klasse
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Greifen Sie auf das erste Arbeitsblatt zu
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Beispieldaten hinzufügen
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);
// Erstellen Sie eine Instanz der ITxtLoadOptions Klasse
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();
// Geben Sie das Trennzeichen zum Trennen des Textes an
options->SetSeparator(' ');
// Text in Spalten aufteilen
worksheet->GetICells()->TextToColumns(0, 0, 5, options);
// Speichern Sie die ausgegebene Excel Datei
workbook->Save(outputFile);
Holen Sie sich eine kostenlose Lizenz
Um die API ohne Evaluierungseinschränkungen zu testen, können Sie eine kostenlose temporäre Lizenz anfordern.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie Text in Excel Dateien mit C++ in mehrere Spalten aufteilen. Sie haben das vollständige code snippet zusammen mit den dafür erforderlichen Schritten gesehen. Aspose.Cells for C++ ist eine robuste API, die viele zusätzliche Funktionen zur Automatisierung Ihrer Excel-bezogenen Aufgaben bietet. Sie können die API im Detail erkunden, indem Sie die offizielle Dokumentation besuchen. Bei Fragen können Sie uns gerne in unserem kostenlosen Support-Forum erreichen.