Sao chép hàng và cột là tác vụ phổ biến được thực hiện khi làm việc với tệp Excel. Có thể có những trường hợp bạn cần sao chép các hàng hoặc cột trong tệp Excel theo chương trình. Đối với những trường hợp như vậy, bài viết này sẽ hướng dẫn bạn cách sao chép hàng và cột trong tệp Excel bằng C ++.
- API C ++ để sao chép hàng và cột trong tệp Excel
- Sao chép một hàng trong tệp Excel bằng C ++
- Sao chép nhiều hàng trong tệp Excel bằng C ++
- Sao chép một cột trong tệp Excel bằng C ++
- Sao chép nhiều cột trong tệp Excel bằng C ++
API C ++ để sao chép hàng và cột trong tệp Excel
Aspose.Cells for C ++ là một thư viện C ++ gốc cho phép bạn tạo, đọc và sửa đổi các tệp Excel mà không yêu cầu cài đặt Microsoft Excel. API cũng cung cấp khả năng sao chép hàng và cột trong tệp Excel. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.
PM> Install-Package Aspose.Cells.Cpp
Sao chép một hàng trong tệp Excel bằng C ++
Sau đây là hình ảnh của tệp Excel nguồn mà chúng ta sẽ sử dụng trong các ví dụ sau.
Sau đây là các bước để sao chép một hàng trong tệp Excel bằng C ++.
- Tải tệp Excel bằng lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn sao chép hàng.
- Sao chép hàng bằng cách sử dụng CopyIRow (intrusiveptrAspose::Cells::ICells sourceCells, Aspose :: Cells :: Systems :: Int32 sourceRowIndex, Aspose :: Cells :: Systems :: Int32 targetRowIndex).
- Lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
Mã mẫu sau đây cho thấy cách sao chép một hàng trong tệp Excel bằng C ++.
// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");
// Tải tệp Excel đầu vào
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Nhận trang tính đầu tiên
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Sao chép hàng
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);
// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
Sao chép nhiều hàng trong tệp Excel bằng C ++
Để sao chép nhiều hàng, chúng tôi sẽ sử dụng phương thức CopyIRows chấp nhận một tham số bổ sung cho biết tổng số hàng sẽ được sao chép. Để sao chép nhiều hàng, hãy làm theo các bước dưới đây.
- Tải tệp Excel bằng lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn sao chép các hàng.
- Sao chép các hàng bằng cách sử dụng CopyIRows (intrusiveptrAspose::Cells::ICells sourceCells, Aspose :: Cells :: Systems :: Int32 sourceRowIndex, Aspose :: Cells :: Systems :: Int32 đíchRowIndex, Aspose :: Cells :: Hệ thống :: Int32 rowNumber).
- Lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
Mã mẫu sau đây cho thấy cách sao chép nhiều hàng trong tệp Excel bằng C ++.
// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");
// Tải tệp Excel đầu vào
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Nhận trang tính đầu tiên
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Sao chép hàng
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);
// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
Sao chép một cột trong tệp Excel bằng C ++
Sau đây là các bước để sao chép một cột trong tệp Excel bằng C ++.
- Tải tệp Excel bằng lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn sao chép cột.
- Sao chép cột bằng cách sử dụng CopyIColumn (intrusiveptrAspose::Cells::ICells sourceCells, Aspose :: Cells :: Systems :: Int32 sourceColumnIndex, Aspose :: Cells :: Systems :: Int32 đíchColumnIndex).
- Lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
Mã mẫu sau đây cho thấy cách sao chép một cột trong tệp Excel bằng C ++.
// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");
// Tải tệp Excel đầu vào
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Nhận trang tính đầu tiên
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Sao chép cột
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);
// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
Sao chép nhiều cột trong tệp Excel bằng C ++
Để sao chép nhiều cột, chúng tôi sẽ sử dụng phương thức CopyIColumns chấp nhận một tham số bổ sung cho biết tổng số cột được sao chép. Để sao chép nhiều cột, hãy làm theo các bước dưới đây.
- Tải tệp Excel bằng lớp IWorkbook.
- Truy xuất trang tính mà bạn muốn sao chép các cột.
- Sao chép các cột bằng cách sử dụng CopyIColumns (intrusiveptrAspose::Cells::ICells sourceCells, Aspose :: Cells :: Systems :: Int32 sourceColumnIndex, Aspose :: Cells :: Systems :: Int32 targetColumnIndex, Aspose :: Cells :: Systems :: Int32 columnNumber).
- Lưu tệp Excel bằng cách sử dụng IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String fileName) phương thức.
Mã mẫu sau đây cho thấy cách sao chép nhiều cột trong tệp Excel bằng C ++.
// Đường dẫn thư mục nguồn.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");
// Đường dẫn thư mục đầu ra.
StringPtr outDir = new String("OutputDirectory\\");
// Tải tệp Excel đầu vào
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// Nhận trang tính đầu tiên
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Sao chép các cột
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);
// Lưu tệp Excel
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
Nhận giấy phép miễn phí
Để dùng thử API mà không có giới hạn đánh giá, bạn có thể yêu cầu giấy phép tạm thời miễn phí.
Sự kết luận
Trong bài viết này, bạn đã học cách sao chép hàng và cột trong tệp Excel bằng C ++. Các mẫu mã được chia sẻ cho thấy cách sao chép một và nhiều hàng và cột trong một tệp Excel. Chúng tôi đã sử dụng API Aspose.Cells cho C ++ để đạt được điều này. Đây là một API mạnh mẽ cung cấp nhiều tính năng bổ sung để làm việc với các tệp Excel. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ thắc mắc nào, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí của chúng tôi.