Excel Çalışma Sayfalarını Kopyalayın veya Taşıyın

Excel dosyaları, departman bütçeleri veya yıllık satış raporları gibi karmaşık verileri yönetmek için kullanılır. Rapor oluşturmak için kullanmak istediğiniz hazır bir şablonunuzun olduğu durumlar olabilir. Bunun için şablon çalışma sayfasının bir kopyasını oluşturabilirsiniz. Veri akışını göstermek için çalışma sayfalarını düzenlemeniz de gerekebilir. Bu gibi durumlarda, çalışma sayfalarını gereksinimlerinize göre yeniden düzenleyebilirsiniz. Bunun ışığında, C++ kullanarak çalışma sayfalarını programlı olarak nasıl kopyalayacağınızı ve taşıyacağınızı öğreneceksiniz.

Excel Çalışma Sayfalarını Kopyalamak veya Taşımak için C++ API

Aspose.Cells for C++, Microsoft Excel’in yüklenmesini gerektirmeden Excel dosyaları oluşturmanıza, okumanıza ve güncellemenize olanak sağlayan yerel bir C++ kitaplığıdır. API, Excel çalışma sayfalarının kopyalanmasını ve taşınmasını da destekler. API’yi NuGet aracılığıyla yükleyebilir veya doğrudan İndirilenler bölümünden indirebilirsiniz.

PM> Install-Package Aspose.Cells.Cpp

C++ kullanarak bir Excel Çalışma Kitabındaki Çalışma Sayfalarını Kopyalama

Aşağıda, çalışma sayfalarını bir Excel çalışma kitabında kopyalama adımları verilmiştir.

Aşağıda, C++ kullanarak bir Excel çalışma kitabı içindeki bir çalışma sayfasını kopyalamak için örnek kod verilmiştir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Çalışma sayfalarını al
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Çalışma kitabındaki mevcut bir sayfadaki verileri yeni bir sayfaya kopyalayın.
sheets->AddCopy(new String("Sheet1"));

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

Çalışma Sayfalarını Bir Çalışma Kitabından Diğerine Kopyalama

Aspose.Cells for C++, çalışma sayfalarını iki Excel dosyası arasında kopyalamanıza da izin verir. Bir çalışma sayfasını bir Excel dosyasından diğerine kopyalama adımları aşağıda verilmiştir.

C++ kullanarak bir çalışma sayfasını bir Excel çalışma kitabından diğerine kopyalamak için örnek kod aşağıdadır.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Kaynak Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> sourceWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Hedef Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> destinationWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("book1.xlsx")));

// Kaynak çalışma kitabının çalışma sayfalarını al
intrusive_ptr<IWorksheetCollection> sheets = sourceWorkbook->GetIWorksheets();

// Kopyalamak istediğiniz çalışma sayfasını alın
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(0);

// Daha önce alınan çalışma sayfasını yeni çalışma kitabına kopyalayın
destinationWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

// Excel dosyasını kaydedin
destinationWorkbook->Save(outDir->StringAppend(new String("book1_out.xlsx")));

Çalışma Sayfasını C++ Kullanarak Farklı Bir Konuma Taşıyın

Bir Excel Çalışma Kitabında çalışma sayfasının konumunu değiştirmek için adımlar aşağıdadır.

Aşağıda, çalışma sayfasını C++ kullanarak aynı çalışma kitabı içinde farklı bir konuma taşımak için kullanılan örnek kod verilmiştir.

// Kaynak dizin yolu.
StringPtr srcDir = new String("SourceDirectory\\");

// Çıkış dizini yolu.
StringPtr outDir = new String("OutputDirectory\\");

// Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Çalışma sayfalarını al
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// İlk sayfaya erişin
intrusive_ptr<IWorksheet> sheet = sheets->GetObjectByIndex(0);

// İlk sayfayı çalışma kitabında ikinci konuma taşıyın.
sheet->MoveTo(1);

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));

Ücretsiz Lisans Alın

Ücretsiz bir geçici lisans talep ederek API’yi değerlendirme sınırlamaları olmaksızın deneyebilirsiniz.

Çözüm

Bu makalede, çalışma sayfalarını aynı Excel çalışma kitabı içinde veya farklı çalışma kitapları arasında nasıl kopyalayacağınızı öğrendiniz. Ayrıca, çalışma sayfasının konumunu bir Excel dosyasında nasıl değiştireceğinizi gördünüz. Aspose.Cells for C++, Excel dosyalarıyla çalışmak için resmi belgeleri ziyaret ederek keşfedebileceğiniz çok daha fazla özellik sunar. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzda bize ulaşmaktan çekinmeyin.

Ayrıca bakınız