Копіювання рядків і стовпців — типове завдання, яке виконується під час роботи з файлами Excel. Можуть бути ситуації, коли вам знадобиться скопіювати рядки або стовпці у файлах Excel програмним шляхом. Для таких випадків ця стаття навчить вас копіювати рядки та стовпці у файлах Excel за допомогою C++.
- C++ API для копіювання рядків і стовпців у файлах Excel
- Скопіюйте один рядок у файлі Excel за допомогою C++
- Копіювання кількох рядків у файлі Excel за допомогою C++
- Скопіюйте один стовпець у файлі Excel за допомогою C++
- Копіювання кількох стовпців у файлі 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 за допомогою класу IWorkbook.
- Отримайте робочий аркуш, куди потрібно скопіювати рядок.
- Скопіюйте рядок за допомогою CopyIRow(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceRowIndex, Aspose::Cells::Systems::Int32 destinationRowIndex).
- Збережіть файл 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()->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 за допомогою класу IWorkbook.
- Отримайте робочий аркуш, куди потрібно скопіювати стовпець.
- Скопіюйте стовпець за допомогою CopyIColumn(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex).
- Збережіть файл 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()->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, відвідавши офіційну документацію. У разі будь-яких запитань зв’яжіться з нами на нашому безкоштовному форумі підтримки.