
Program Microsoft Excel umożliwia dzielenie tekstu na wiele kolumn za pomocą separatorów, takich jak spacja, przecinek lub inne znaki. Ta funkcja może być pomocna w scenariuszach, takich jak konwertowanie danych rozdzielonych przecinkami wyeksportowanych z tabeli bazy danych do postaci tabelarycznej. W tym celu w tym artykule dowiesz się, jak podzielić tekst na kolumny w plikach Excela przy użyciu języka C++.
- C++ API do dzielenia tekstu na kolumny w plikach Excela
- Dzielenie tekstu na kolumny w plikach Excela przy użyciu C++
C++ API do dzielenia tekstu na kolumny w plikach Excela
Wykorzystamy API Aspose.Cells for C++ do dzielenia tekstu na kolumny w plikach Excel. Jest to natywna biblioteka C++, która umożliwia tworzenie, odczytywanie i modyfikowanie plików programu Excel bez konieczności instalowania programu Microsoft Excel. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.
PM> Install-Package Aspose.Cells.Cpp
Podziel tekst na kolumny w plikach Excela przy użyciu C++
Poniżej przedstawiono kroki dzielenia tekstu na kolumny w plikach programu Excel.
- Utwórz instancję klasy IWorkbook.
- Uzyskaj dostęp do arkusza, w którym chcesz podzielić tekst, używając metody IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- Wstaw przykładowe dane do arkusza.
- Utwórz instancję klasy ITxtLoadOptions.
- Określ znak, który zostanie użyty do podziału tekstu za pomocą metody ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value).
- Podziel tekst na kolumny za pomocą kolumny [IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32, Aspose::Cells::Systems::Int32, Aspose::Cells::Systems: :Int32 totalRows, intrusiveptrAspose::Cells::ITxtLoadOptions opcje 8) metoda.
- Zapisz plik programu Excel za pomocą opcji IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.
Poniższy przykładowy kod ilustruje sposób dzielenia tekstu na kolumny w plikach programu Excel przy użyciu języka C++.
// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\");
// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");
// Ścieżka wyjściowego pliku programu Excel
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));
// Utwórz instancję klasy IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// Uzyskaj dostęp do pierwszego arkusza
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Dodaj przykładowe dane
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);
// Utwórz instancję klasy ITxtLoadOptions
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();
// Określ separator do oddzielania tekstu
options->SetSeparator(' ');
// Podziel tekst na kolumny
worksheet->GetICells()->TextToColumns(0, 0, 5, options);
// Zapisz wyjściowy plik programu Excel
workbook->Save(outputFile);

Obraz wyjściowego pliku programu Excel przedstawiający tekst podzielony na dwie kolumny
Uzyskaj bezpłatną licencję
Aby wypróbować interfejs API bez ograniczeń ewaluacyjnych, możesz poprosić o darmową licencję tymczasową.
Wniosek
W tym artykule nauczyłeś się, jak podzielić tekst na wiele kolumn w plikach Excela przy użyciu języka C++. Widziałeś cały fragment kodu wraz z krokami wymaganymi do osiągnięcia tego celu. Aspose.Cells for C++ to solidny interfejs API, który zapewnia wiele dodatkowych funkcji do automatyzacji zadań związanych z programem Excel. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt na naszym darmowym forum pomocy technicznej.