Разделить текст на столбцы в файлах Excel с помощью С++

Microsoft Excel позволяет разбивать текст на несколько столбцов с помощью разделителей, таких как пробел, запятая или другие символы. Эта функция может быть полезна в таких сценариях, как преобразование данных с разделителями-запятыми, экспортированных из таблицы базы данных, в табличную форму. С этой целью эта статья научит вас разбивать текст на столбцы в файлах Excel с помощью C++.

C++ API для разделения текста на столбцы в файлах Excel

Мы будем использовать API Aspose.Cells for C++ для разделения текста на столбцы в файлах Excel. Это собственная библиотека C++, которая позволяет создавать, читать и изменять файлы Excel, не требуя установки Microsoft Excel. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.

PM> Install-Package Aspose.Cells.Cpp

Разделить текст на столбцы в файлах Excel с помощью С++

Ниже приведены шаги для разделения текста на столбцы в файлах Excel.

В следующем примере кода показано, как разбить текст на столбцы в файлах Excel с помощью C++.

// Путь к исходному каталогу.
StringPtr srcDir = new String("SourceDirectory\\");

// Выходной путь к каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Путь к выходному файлу Excel
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));

// Создайте экземпляр класса IWorkbook
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Доступ к первому рабочему листу
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Добавьте образцы данных
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);

// Создайте экземпляр класса ITxtLoadOptions.
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();

// Укажите разделитель для разделения текста
options->SetSeparator(' ');

// Разделить текст на столбцы
worksheet->GetICells()->TextToColumns(0, 0, 5, options);

// Сохраните выходной файл Excel
workbook->Save(outputFile);
Изображение выходного файла Excel, показывающее текст, разделенный на два столбца.

Изображение выходного файла Excel, показывающее текст, разделенный на два столбца.

Получить бесплатную лицензию

Чтобы попробовать API без ограничений на пробную версию, вы можете запросить бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как разбить текст на несколько столбцов в файлах Excel с помощью C++. Вы видели полный фрагмент кода вместе с шагами, необходимыми для достижения этой цели. Aspose.Cells for C++ — это надежный API, предоставляющий множество дополнительных функций для автоматизации задач, связанных с Excel. Вы можете подробно изучить API, посетив официальную документацию. Если у вас возникнут вопросы, обращайтесь к нам на бесплатный форум поддержки.

Смотрите также