Menggabungkan dan memisahkan sel adalah fitur Microsoft Excel yang sederhana dan umum digunakan. Menggabungkan sel mungkin terbukti membantu dalam skenario, misalnya, saat Anda memiliki lembar kerja dengan banyak kolom yang memiliki judul yang sama. Anda dapat menggabungkan sel di atas kolom untuk memberinya judul yang sama. Jika sel yang digabungkan tidak lagi diperlukan, Anda dapat memisahkannya dengan mudah. Anda mungkin perlu melakukan tugas ini dalam aplikasi C++ Anda. Untuk itu, artikel ini akan mengajarkan Anda cara menggabungkan dan memisahkan sel di lembar kerja Excel secara terprogram menggunakan C++.

C++ API untuk Penggabungan dan Pemisahan Sel

Aspose.Cells for C++ adalah pustaka C++ asli yang memungkinkan Anda membuat, membaca, dan memodifikasi file Excel tanpa memerlukan penginstalan Microsoft Excel. API juga mendukung penggabungan dan pemisahan sel di lembar kerja Excel. Anda dapat menginstal API melalui NuGet atau mengunduhnya langsung dari bagian Unduhan.

PM> Install-Package Aspose.Cells.Cpp

Menggabungkan Sel dalam Lembar Kerja Excel menggunakan C++

Dalam contoh ini, kami akan membuat lembar kerja Excel kosong dan menggabungkan beberapa sel dengan mengikuti langkah-langkah di bawah ini.

Kode contoh berikut menunjukkan cara menggabungkan sel di lembar kerja Excel menggunakan C++.

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Muat file Excel masukan
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Akses lembar kerja pertama di file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Buat objek Sel atau ambil semua sel.
intrusive_ptr<ICells> cells = worksheet->GetICells();

// Menggabungkan sel
cells->Merge(5, 2, 2, 3);

// Memasukkan data ke dalam sel
cells->GetObjectByIndex(5, 2)->PutValue((StringPtr)new String("This is a test value"));

// Buat objek Gaya 
intrusive_ptr<IStyle> style = cells->GetICell(5, 2)->GetIStyle();

// Buat objek Font
intrusive_ptr<Aspose::Cells::IFont> font = style->GetIFont();

// Tetapkan nama
font->SetName(new String("Times New Roman"));

// Atur ukuran font
font->SetSize(18);

// Mengatur warna font
font->SetColor(Systems::Drawing::Color::GetCyan());

// Buat teks tebal
font->SetBold(true);

// Membuat teks miring
font->SetItalic(true);

// Mengatur warna Foreground
style->SetForegroundColor(Systems::Drawing::Color::GetRed());

// Tetapkan Pola
style->SetPattern(BackgroundType_Solid);

// Terapkan Gaya
cells->GetICell(5, 2)->SetIStyle(style);

// Simpan file Excelnya
workbook->Save(outDir->StringAppend(new String("MergeCells_out.xlsx")));
Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Pisahkan Sel dalam Lembar Kerja Excel menggunakan C++

Berikut ini adalah langkah-langkah untuk memisahkan sel di lembar kerja Excel.

Kode contoh berikut menunjukkan cara memisahkan sel di lembar kerja Excel menggunakan C++.

// Jalur direktori sumber.
StringPtr srcDir = new String("SourceDirectory\\");

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Muat file Excel masukan
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleMergedCells.xlsx")));

// Akses lembar kerja pertama di file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Buat objek Sel atau ambil semua sel.
intrusive_ptr<ICells> cells = worksheet->GetICells();

// Pisahkan sel.
cells->UnMerge(5, 2, 2, 3);

// Simpan file Excelnya
workbook->Save(outDir->StringAppend(new String("UnmergeCells_out.xlsx")));
Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Menggabungkan Rentang Sel dalam Lembar Kerja Excel menggunakan C++

Berikut ini adalah langkah-langkah untuk menggabungkan rentang sel dalam lembar kerja Excel.

Kode contoh berikut menunjukkan cara menggabungkan rentang sel di lembar kerja Excel menggunakan C++.

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Muat file Excel masukan
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();

// Akses lembar kerja pertama di file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Masukkan data ke Sel A1.
worksheet->GetICells()->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("This is a test value"));

// Buat rentang
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));

// Menggabungkan rentang menjadi satu sel
range->Merge();

// Simpan file Excelnya
workbook->Save(outDir->StringAppend(new String("MergeRangeOfCells_out.xlsx")));
Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Pisahkan Rentang Sel dalam Lembar Kerja Excel menggunakan C++

Berikut ini adalah langkah-langkah untuk memisahkan rentang sel di lembar kerja Excel.

Kode contoh berikut menunjukkan cara memisahkan rentang sel di lembar kerja Excel menggunakan C++.

// Jalur direktori sumber.
StringPtr srcDir = new String("SourceDirectory\\");

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Muat file Excel masukan
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleMergedRangeOfCells.xlsx")));

// Akses lembar kerja pertama di file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Buat rentang
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));

// Pisahkan rentang
range->UnMerge();

// Simpan file Excelnya
workbook->Save(outDir->StringAppend(new String("UnmergeRangeOfCells_out.xlsx")));
Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Gabungkan Sel dari Rentang Bernama di Lembar Kerja Excel menggunakan C++

Aspose.Cells for C++ juga memberi Anda kemampuan untuk menggabungkan sel dari rentang bernama. Untuk mencapai ini, silakan ikuti langkah-langkah yang diberikan di bawah ini.

Kode contoh berikut menunjukkan cara menggabungkan sel dari rentang bernama menggunakan C++.

// Jalur direktori sumber.
StringPtr srcDir = new String("SourceDirectory\\");

// Jalur direktori keluaran.
StringPtr outDir = new String("OutputDirectory\\");

// Muat file Excel masukan
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("SampleMergedRangeOfCells.xlsx")));

// Akses lembar kerja pertama di file Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// Buat rentang
intrusive_ptr<IRange> range = worksheet->GetICells()->CreateIRange(new String("A1:D4"));

// Tetapkan nama Rentang
range->SetName(new String("Named_Range"));

// Tentukan objek gaya
intrusive_ptr<IStyle> style = workbook->CreateIStyle();

// Atur perataan horizontal
style->SetHorizontalAlignment(TextAlignmentType::TextAlignmentType_Center);

// Buat objek StyleFlag
intrusive_ptr<IStyleFlag> styleFlag = Factory::CreateIStyleFlag();

// Atur perataan horizontal to true
styleFlag->SetHorizontalAlignment(true);

// Terapkan gaya ke rentang
range->ApplyIStyle(style, styleFlag);

// Letakkan data dalam jangkauan
range->GetObjectByIndex(0, 0)->PutValue((StringPtr)new String("This is a test value"));

// Rentang Gabung
range->Merge();

// Simpan file Excelnya
workbook->Save(outDir->StringAppend(new String("MergeNamedRange_out.xlsx")));
Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Gambar file Excel keluaran yang dihasilkan oleh kode sampel

Dapatkan Lisensi Gratis

Anda dapat mencoba API tanpa batasan evaluasi dengan meminta lisensi sementara gratis.

Kesimpulan

Dalam artikel ini, Anda telah mempelajari cara menggabungkan dan memisahkan sel di lembar kerja Excel menggunakan C++. Selain itu, Anda telah melihat cara menggabungkan dan memisahkan rentang dan rentang bernama menggunakan Aspose.Cells for C++ API. API menyediakan banyak fitur tambahan untuk bekerja dengan file Excel yang dapat Anda jelajahi secara mendetail dengan mengunjungi dokumentasi resmi. Jika ada pertanyaan, jangan ragu untuk menghubungi kami di forum dukungan gratis.

Lihat juga