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
- Menggabungkan Sel dalam Lembar Kerja Excel menggunakan C++
- Pisahkan Sel dalam Lembar Kerja Excel menggunakan C++
- Menggabungkan Rentang Sel dalam Lembar Kerja Excel menggunakan C++
- Pisahkan Rentang Sel dalam Lembar Kerja Excel menggunakan C++
- Gabungkan Sel dari Rentang Bernama di Lembar Kerja Excel 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.
- Pertama, buat instance dari kelas IWorkbook.
- Ambil lembar kerja menggunakan metode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32).
- Ambil sel menggunakan metode IWorksheet->GetICells().
- Menggabungkan sel menggunakan ICells->Merge(Aspose::Cells::Systems::Int32 firstRow, Aspose::Cells::Systems::Int32 firstColumn, Aspose::Cells::Systems::Int32 totalRows, Aspose:: Cells::Systems::Int32 totalColumns) metode.
- Terapkan gaya ke sel yang digabungkan.
- Terakhir, simpan file Excel keluaran menggunakan IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metode.
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
Pisahkan Sel dalam Lembar Kerja Excel menggunakan C++
Berikut ini adalah langkah-langkah untuk memisahkan sel di lembar kerja Excel.
- Muat file Excel menggunakan kelas IWorkbook.
- Ambil lembar kerja yang berisi sel gabungan menggunakan metode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32).
- Ambil sel menggunakan metode IWorksheet->GetICells().
- Pisahkan sel menggunakan ICells->UnMerge(Aspose::Cells::Systems::Int32 firstRow, Aspose::Cells::Systems::Int32 firstColumn, Aspose::Cells::Systems::Int32 totalRows, Aspose::Cells ::Sistem::Int32 totalColumns) metode.
- Terakhir, simpan file Excel keluaran menggunakan IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metode.
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
Menggabungkan Rentang Sel dalam Lembar Kerja Excel menggunakan C++
Berikut ini adalah langkah-langkah untuk menggabungkan rentang sel dalam lembar kerja Excel.
- Pertama, buat instance dari kelas IWorkbook.
- Ambil lembar kerja yang diinginkan menggunakan metode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32).
- Masukkan data ke dalam sel.
- Buat rentang menggunakan IWorksheet->GetICells()->CreateIRange(intrusiveptrAspose::Cells::Systems::String alamat) metode.
- Menggabungkan rentang menggunakan metode IRange->Merge().
- Terakhir, simpan file Excel keluaran menggunakan IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metode.
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
Pisahkan Rentang Sel dalam Lembar Kerja Excel menggunakan C++
Berikut ini adalah langkah-langkah untuk memisahkan rentang sel di lembar kerja Excel.
- Muat file Excel menggunakan kelas IWorkbook.
- Ambil lembar kerja yang berisi sel gabungan menggunakan metode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32).
- Buat rentang menggunakan IWorksheet->GetICells()->CreateIRange(intrusiveptrAspose::Cells::Systems::String alamat) metode.
- Pisahkan rentang menggunakan metode IRange->UnMerge().
- Terakhir, simpan file Excel keluaran menggunakan IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metode.
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
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.
- Muat file Excel menggunakan kelas IWorkbook.
- Ambil lembar kerja menggunakan metode IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32).
- Buat rentang menggunakan IWorksheet->GetICells()->CreateIRange(intrusiveptrAspose::Cells::Systems::String alamat) metode.
- Tetapkan nama rentang menggunakan IRange->SetName(intrusiveptrAspose::Cells::Systems::String nilai) metode.
- Buat dan terapkan gaya ke rentang bernama.
- Menggabungkan sel dari rentang bernama menggunakan metode IRange->Merge().
- Terakhir, simpan file Excel keluaran menggunakan IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) metode.
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
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.