Hücreleri birleştirme ve ayırma, Microsoft Excel’in basit ve yaygın olarak kullanılan bir özelliğidir. Hücreleri birleştirmek, örneğin aynı başlığı paylaşan birden çok sütun içeren bir çalışma sayfanız olduğunda senaryolarda yardımcı olabilir. Ortak bir başlık vermek için sütunların üzerindeki hücreleri birleştirebilirsiniz. Birleştirilmiş hücrelere artık gerek kalmaması durumunda, bunları kolayca ayırabilirsiniz. Bu görevleri C++ uygulamalarınızda gerçekleştirmeniz gerekebilir. Bunun için, bu makale size Excel çalışma sayfalarındaki hücreleri C++ kullanarak programlı olarak nasıl birleştireceğinizi ve ayıracağınızı öğretecektir.

Hücreleri Birleştirmek ve Ayırmak için C++ API

Aspose.Cells for C++, Microsoft Excel’in yüklenmesini gerektirmeden Excel dosyaları oluşturmanıza, okumanıza ve değiştirmenize izin veren yerel bir C++ kitaplığıdır. API ayrıca bir Excel çalışma sayfasındaki hücrelerin birleştirilmesini ve ayrılması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 Sayfasında Hücreleri Birleştirme

Bu örnekte boş bir Excel çalışma sayfası oluşturacağız ve aşağıda verilen adımları izleyerek birkaç hücreyi birleştireceğiz.

Aşağıdaki örnek kod, C++ kullanarak bir Excel çalışma sayfasındaki hücrelerin nasıl birleştirileceğini gösterir.

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

// Giriş Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Tüm hücreleri getirmek için bir Cells nesnesi oluşturun.
intrusive_ptr<ICells> cells = worksheet->GetICells();

// Hücreleri birleştir
cells->Merge(5, 2, 2, 3);

// Verileri hücreye koy
cells->GetObjectByIndex(5, 2)->PutValue((StringPtr)new String("This is a test value"));

// Stil nesnesi oluşturma 
intrusive_ptr<IStyle> style = cells->GetICell(5, 2)->GetIStyle();

// Font nesnesi oluşturma
intrusive_ptr<Aspose::Cells::IFont> font = style->GetIFont();

// adı ayarla
font->SetName(new String("Times New Roman"));

// Yazı tipi boyutunu ayarla
font->SetSize(18);

// Yazı tipi rengini ayarla
font->SetColor(Systems::Drawing::Color::GetCyan());

// Metni kalın yap
font->SetBold(true);

// Metni italik yap
font->SetItalic(true);

// Ön plan rengini ayarla
style->SetForegroundColor(Systems::Drawing::Color::GetRed());

// Deseni Ayarla
style->SetPattern(BackgroundType_Solid);

// Stili Uygula
cells->GetICell(5, 2)->SetIStyle(style);

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("MergeCells_out.xlsx")));
Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

C++ Kullanarak Bir Excel Çalışma Sayfasındaki Hücreleri Ayırın

Aşağıda, bir Excel çalışma sayfasındaki hücreleri ayırma adımları verilmiştir.

Aşağıdaki örnek kod, C++ kullanarak bir Excel çalışma sayfasındaki hücrelerin nasıl ayrılacağını gösterir.

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

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

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

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Tüm hücreleri getirmek için bir Cells nesnesi oluşturun.
intrusive_ptr<ICells> cells = worksheet->GetICells();

// Hücreleri ayırın.
cells->UnMerge(5, 2, 2, 3);

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("UnmergeCells_out.xlsx")));
Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

C++ Kullanarak Bir Excel Çalışma Sayfasında Bir Hücre Aralığını Birleştirme

Aşağıdakiler, bir Excel çalışma sayfasındaki bir hücre aralığını birleştirme adımlarıdır.

Aşağıdaki örnek kod, C++ kullanarak bir Excel çalışma sayfasındaki bir hücre aralığının nasıl birleştirileceğini gösterir.

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

// Giriş Excel dosyasını yükleyin
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// A1 Hücresine veri girin.
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("This is a test value"));

// Aralık oluştur
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));

// Aralığı tek bir hücrede birleştir
range->Merge();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("MergeRangeOfCells_out.xlsx")));
Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

C++ Kullanarak Bir Excel Çalışma Sayfasında Bir Hücre Aralığını Ayırın

Aşağıdakiler, bir Excel çalışma sayfasındaki bir hücre aralığını ayırma adımlarıdır.

Aşağıdaki örnek kod, C++ kullanarak bir Excel çalışma sayfasındaki bir hücre aralığının nasıl çözüleceğini gösterir.

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

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

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

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Aralık oluştur
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));

// Çözme aralığı
range->UnMerge();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("UnmergeRangeOfCells_out.xlsx")));
Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

C++ Kullanarak Bir Excel Çalışma Sayfasında Adlandırılmış Aralığın Hücrelerini Birleştirme

Aspose.Cells for C++ ayrıca adlandırılmış bir aralığın hücrelerini birleştirme yeteneği de sağlar. Bunu başarmak için lütfen aşağıda verilen adımları izleyin.

Aşağıdaki örnek kod, C++ kullanarak adlandırılmış bir aralığın hücrelerinin nasıl birleştirileceğini gösterir.

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

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

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

// Excel dosyasındaki ilk çalışma sayfasına erişin
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Aralık oluştur
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));

// Aralık adını ayarla
range->SetName(new String("Named_Range"));

// Stil nesnesini tanımla
intrusive_ptr<IStyle> style = workbook->CreateIStyle();

// Yatay hizalamayı ayarla
style->SetHorizontalAlignment(TextAlignmentType::TextAlignmentType_Center);

// StyleFlag nesnesi oluşturma
intrusive_ptr<IStyleFlag> styleFlag = Factory::CreateIStyleFlag();

// Yatay hizalamayı ayarla to true
styleFlag->SetHorizontalAlignment(true);

// Stili aralığa uygula
range->ApplyIStyle(style, styleFlag);

// Aralığa veri koy
range->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("This is a test value"));

// Birleştirme Aralığı
range->Merge();

// Excel dosyasını kaydedin
workbook->Save(outDir->StringAppend(new String("MergeNamedRange_out.xlsx")));
Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

Örnek kod tarafından oluşturulan çıktı Excel dosyasının görüntüsü

Ü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, C++ kullanarak bir Excel çalışma sayfasındaki hücreleri birleştirmeyi ve ayırmayı öğrendiniz. Ayrıca, Aspose.Cells for C++ API kullanarak aralıkları ve adlandırılmış aralıkları nasıl birleştireceğinizi ve ayıracağınızı gördünüz. API, resmi belgeleri ziyaret ederek ayrıntılı olarak keşfedebileceğiniz, Excel dosyalarıyla çalışmak için birçok ek özellik sağlar. Herhangi bir sorunuz olursa lütfen ücretsiz destek forumumuzdan bize ulaşmaktan çekinmeyin.

Ayrıca bakınız