Kopiowanie wierszy i kolumn jest częstym zadaniem wykonywanym podczas pracy z plikami programu Excel. Mogą wystąpić sytuacje, w których trzeba programowo skopiować wiersze lub kolumny w plikach programu Excel. W takich przypadkach z tego artykułu dowiesz się, jak kopiować wiersze i kolumny w plikach programu Excel przy użyciu języka C++.

C++ API do kopiowania wierszy i kolumn w plikach Excela

Aspose.Cells for C++ to natywna biblioteka C++, która umożliwia tworzenie, odczytywanie i modyfikowanie plików programu Excel bez konieczności instalowania programu Microsoft Excel. API zapewnia również możliwość kopiowania wierszy i kolumn w plikach Excel. Możesz zainstalować API poprzez NuGet lub pobrać bezpośrednio z sekcji Downloads.

PM> Install-Package Aspose.Cells.Cpp

Skopiuj pojedynczy wiersz w pliku programu Excel za pomocą C++

Poniżej znajduje się obraz źródłowego pliku programu Excel, którego użyjemy w poniższych przykładach.

Arkusz źródłowy

Poniżej przedstawiono kroki kopiowania pojedynczego wiersza w pliku programu Excel przy użyciu języka C++.

Poniższy przykładowy kod pokazuje, jak skopiować wiersz w pliku programu Excel przy użyciu języka C++.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Załaduj wejściowy plik Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Pobierz pierwszą kartę pracy
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Kopiuj wiersz
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);

// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Obraz przedstawiający skopiowany wiersz

Obraz przedstawiający skopiowany wiersz

Kopiowanie wielu wierszy w pliku programu Excel przy użyciu języka C++

W celu skopiowania wielu wierszy skorzystamy z metody CopyIRows, która akceptuje dodatkowy parametr określający całkowitą liczbę wierszy do skopiowania. Aby skopiować wiele wierszy, wykonaj czynności podane poniżej.

Poniższy przykładowy kod pokazuje, jak skopiować wiele wierszy w pliku programu Excel przy użyciu języka C++.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Załaduj wejściowy plik Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Pobierz pierwszą kartę pracy
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Kopiuj wiersze
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);

// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Obraz przedstawiający skopiowane wiersze

Obraz przedstawiający skopiowane wiersze

Skopiuj pojedynczą kolumnę w pliku Excela, używając C++

Poniżej przedstawiono kroki kopiowania pojedynczej kolumny w pliku programu Excel przy użyciu języka C++.

Poniższy przykładowy kod pokazuje, jak skopiować pojedynczą kolumnę w pliku programu Excel przy użyciu języka C++.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Załaduj wejściowy plik Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Pobierz pierwszą kartę pracy
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Kopiuj kolumnę
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);

// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Obraz przedstawiający skopiowaną kolumnę

Obraz przedstawiający skopiowaną kolumnę

Kopiowanie wielu kolumn w pliku programu Excel przy użyciu języka C++

W celu skopiowania wielu kolumn skorzystamy z metody CopyIColumns, która akceptuje dodatkowy parametr określający całkowitą liczbę kolumn do skopiowania. Aby skopiować wiele kolumn, wykonaj czynności podane poniżej.

  • Załaduj plik programu Excel przy użyciu klasy IWorkbook.
  • Pobierz arkusz, do którego chcesz skopiować kolumny.
  • Skopiuj kolumny za pomocą metody [CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells, Aspose::Cells::Systems::Int32 sourceColumnIndex, Aspose::Cells::Systems::Int32 destinationColumnIndex, Aspose::Cells::Systems::Int32 numer kolumny) 16 metoda.
  • Zapisz plik programu Excel za pomocą polecenia IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String nazwa_pliku) metoda.

Poniższy przykładowy kod pokazuje, jak skopiować wiele kolumn w pliku programu Excel przy użyciu języka C++.

// Ścieżka katalogu źródłowego.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// Ścieżka katalogu wyjściowego.
StringPtr outDir = new String("OutputDirectory\\");

// Załaduj wejściowy plik Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Pobierz pierwszą kartę pracy
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Kopiuj kolumny
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);

// Zapisz plik Excela
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Obraz przedstawiający skopiowane kolumny

Obraz przedstawiający skopiowane kolumny

Uzyskaj bezpłatną licencję

Aby wypróbować interfejs API bez ograniczeń ewaluacyjnych, możesz poprosić o bezpłatną licencję tymczasową.

Wniosek

W tym artykule nauczyłeś się, jak kopiować wiersze i kolumny w pliku programu Excel przy użyciu języka C++. Udostępnione przykłady kodu pokazują, jak kopiować pojedyncze i wiele wierszy i kolumn w pliku programu Excel. Aby to osiągnąć, użyliśmy interfejsu API Aspose.Cells for C++. Jest to solidny interfejs API, który zapewnia wiele dodatkowych funkcji do pracy z plikami Excel. Możesz szczegółowo zapoznać się z interfejsem API, odwiedzając oficjalną dokumentację. W przypadku jakichkolwiek pytań prosimy o kontakt z nami na naszym darmowym forum wsparcia.

Zobacz też