Копирование строк и столбцов — обычная задача, выполняемая при работе с файлами Excel. Могут быть ситуации, когда вам нужно программно скопировать строки или столбцы в файлах Excel. В таких случаях эта статья научит вас копировать строки и столбцы в файлах Excel с помощью C++.
- C++ API для копирования строк и столбцов в файлах Excel
- Скопируйте одну строку в файл Excel с помощью С++
- Копирование нескольких строк в файле Excel с помощью C++
- Скопируйте один столбец в файл 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 с помощью С++
Ниже приведено изображение исходного файла 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 имя_файла) метод.
В следующем примере кода показано, как скопировать строку в файле 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 имя_файла) метод.
В следующем примере кода показано, как скопировать несколько строк в файле 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 с помощью С++
Ниже приведены шаги для копирования одного столбца в файле 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 имя_файла) метод.
В следующем примере кода показано, как скопировать один столбец в файле 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 имя_файла) метод.
В следующем примере кода показано, как скопировать несколько столбцов в файл 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, посетив официальную документацию. Если у вас возникнут какие-либо вопросы, обращайтесь к нам на наш бесплатный форум поддержки.