Копіювання рядків і стовпців — типове завдання, яке виконується під час роботи з файлами Excel. Можуть бути ситуації, коли вам знадобиться скопіювати рядки або стовпці у файлах Excel програмним шляхом. Для таких випадків ця стаття навчить вас копіювати рядки та стовпці у файлах Excel за допомогою C++.

C++ API для копіювання рядків і стовпців у файлах Excel

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

PM> Install-Package Aspose.Cells.Cpp

Скопіюйте один рядок у файлі Excel за допомогою C++

Нижче наведено зображення вихідного файлу Excel, який ми будемо використовувати в наступних прикладах.

Вихідний аркуш

Нижче наведено кроки для копіювання одного рядка у файлі Excel за допомогою C++.

У наведеному нижче прикладі коду показано, як скопіювати рядок у файл Excel за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Отримайте перший аркуш
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Копіювати рядок
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);

// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Зображення, на якому показано скопійований рядок

Зображення, на якому показано скопійований рядок

Копіювання кількох рядків у файлі Excel за допомогою C++

Щоб скопіювати кілька рядків, ми використаємо метод CopyIRows, який приймає додатковий параметр, що вказує загальну кількість рядків, які потрібно скопіювати. Щоб скопіювати кілька рядків, виконайте наведені нижче дії.

  • Завантажте файл Excel за допомогою класу IWorkbook.
  • Отримайте робочий аркуш, на якому ви хочете скопіювати рядки.
  • Скопіюйте рядки за допомогою CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex, Aspose::Cells::Systems::Int32 rowNumber).
  • Збережіть файл Excel за допомогою IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) метод.

У наведеному нижче прикладі коду показано, як скопіювати кілька рядків у файл Excel за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Отримайте перший аркуш
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Копіювати рядки
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);

// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Зображення, на якому показано скопійовані рядки

Зображення, на якому показано скопійовані рядки

Скопіюйте один стовпець у файлі Excel за допомогою C++

Нижче наведено кроки для копіювання одного стовпця у файлі Excel за допомогою C++.

У наведеному нижче прикладі коду показано, як скопіювати один стовпець у файлі Excel за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Отримайте перший аркуш
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Копіювати стовпець
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);

// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Зображення, на якому показано скопійований стовпець

Зображення, на якому показано скопійований стовпець

Копіювання кількох стовпців у файлі Excel за допомогою C++

Щоб скопіювати кілька стовпців, ми використаємо метод CopyIColumns, який приймає додатковий параметр, що вказує загальну кількість стовпців, які потрібно скопіювати. Щоб скопіювати кілька стовпців, виконайте наведені нижче дії.

  • Завантажте файл Excel за допомогою класу IWorkbook.
  • Отримайте робочий аркуш, куди потрібно скопіювати стовпці.
  • Скопіюйте стовпці за допомогою CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 columnNumber).
  • Збережіть файл Excel за допомогою IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) метод.

У наведеному нижче прикладі коду показано, як скопіювати кілька стовпців у файл Excel за допомогою C++.

// Шлях вихідного каталогу.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Шлях вихідного каталогу.
StringPtr outDir = new String("OutputDirectory\\");

// Завантажте вхідний файл Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Отримайте перший аркуш
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Копіювати стовпці
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);

// Збережіть файл Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Зображення, на якому показано скопійовані стовпці

Зображення, на якому показано скопійовані стовпці

Отримайте безкоштовну ліцензію

Щоб випробувати API без оціночних обмежень, ви можете подати запит на безкоштовну тимчасову ліцензію.

Висновок

У цій статті ви дізналися, як копіювати рядки та стовпці у файлі Excel за допомогою C++. Спільні зразки коду показують, як скопіювати один або кілька рядків і стовпців у файл Excel. Для цього ми використали Aspose.Cells for C++ API. Це надійний API, який надає багато додаткових функцій для роботи з файлами Excel. Ви можете детально вивчити API, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.

Дивись також