Trong bài viết này, bạn sẽ tìm hiểu về cách hợp nhất hoặc hủy hợp nhất các ô Excel trong một trang tính trong C#. Nói chung, hợp nhất các ô đề cập đến một hoặc nhiều ô được nối với nhau để tạo thành một ô lớn. Tuy nhiên, các ô liền kề có thể được hợp nhất theo chiều dọc hoặc chiều ngang. Trong khi đó, chuyển đổi một ô lớn thành nhiều ô được gọi là tách ô hoặc tách ô trong trang tính Excel. Hãy để chúng tôi khám phá các trường hợp sử dụng sau:

Hợp nhất các ô Excel trong Bảng tính với C#

Bạn có thể dễ dàng hợp nhất các ô trong trang tính excel bằng API Aspose.Cells for .NET bằng C#. Trong ví dụ này, chúng tôi sẽ tạo một bảng tính excel mới từ đầu và sau đó hợp nhất một vài ô bằng cách thực hiện theo các bước bên dưới:

  1. Tạo một đối tượng Workbook
  2. Nhận công việc đầu tiên
  3. Hợp nhất ô cụ thể
  4. Đặt giá trị vào ô được hợp nhất
  5. Áp dụng kiểu trên ô
  6. Lưu bảng tính excel đầu ra

Đoạn mã dưới đây cho thấy cách hợp nhất các ô trong trang tính Excel bằng C#:

// Tạo một Sổ làm việc.
Workbook wbk = new Workbook();

// Tạo một Worksheet và lấy sheet đầu tiên.
Worksheet worksheet = wbk.Worksheets[0];

// Tạo một đối tượng Ô hoặc tìm nạp tất cả các ô.
Cells cells = worksheet.Cells;

// Hợp nhất một số Ô (C6:E7) thành một Ô C6 duy nhất.
cells.Merge(5, 2, 2, 3);

// Nhập dữ liệu vào Ô C6.
worksheet.Cells[5, 2].PutValue("This is my value");

// Tạo một đối tượng Kiểu để lấy Kiểu của Ô C6.
Style style = worksheet.Cells[5, 2].GetStyle();

// Tạo một đối tượng Phông chữ
Font font = style.Font;

// Đặt tên.
font.Name = "Times New Roman";

// Đặt kích thước phông chữ.
font.Size = 18;

// Đặt màu phông chữ
font.Color = System.Drawing.Color.Blue;

// In đậm văn bản
font.IsBold = true;

// Làm cho nó nghiêng
font.IsItalic = true;

// Đặt màu nền của Ô C6 thành Màu đỏ
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// Áp dụng Style cho ô C6.
cells[5, 2].SetStyle(style);

// Lưu sổ làm việc.
wbk.Save(dataDir + "MergeCells.xlsx");

Tệp đầu ra được tạo từ đoạn mã này sẽ chứa các ô được hợp nhất như trong ảnh chụp màn hình bên dưới:

Hợp nhất các ô

Hủy hợp nhất các ô Excel trong Bảng tính với C#

Chúng ta đã học cách gộp ô trong file Excel. Hãy để chúng tôi thực hiện quá trình này một bước nữa. Ở đây chúng tôi sẽ xem xét việc hủy hợp nhất các ô trong trang tính Excel bằng cách thực hiện theo các bước bên dưới:

  1. Tải tệp Excel nguồn
  2. Tạo đối tượng Worksheet và truy cập trang tính đầu tiên
  3. Unmerge các ô
  4. Lưu tập tin đầu ra

Đoạn mã dưới đây dựa trên các bước này và cho biết cách hủy hợp nhất các ô trong tệp Excel bằng C#:

// Mở tệp excel.
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");

// Tạo một Worksheet và lấy sheet đầu tiên.
Worksheet worksheet = wbk.Worksheets[0];

// Tạo một đối tượng Ô hoặc tìm nạp tất cả các ô.
Cells cells = worksheet.Cells;

// Hủy hợp nhất các ô.
cells.UnMerge(5, 2, 2, 3);

// Lưu các tập tin.
wbk.Save(dataDir + "UnmergeCells.xlsx");

Hình ảnh sau đây cho thấy các ô chưa hợp nhất trông như thế nào khi bạn chạy đoạn mã trên trong môi trường của mình:

Hủy hợp nhất các ô

Hợp nhất một dãy ô Excel trong Bảng tính với C#

Đôi khi có một số ô được chỉ định trong các phạm vi ô khác nhau. Bạn có thể muốn hợp nhất một phạm vi ô cụ thể trong trang tính Excel. Trong những trường hợp như vậy, vui lòng làm theo các bước được liệt kê bên dưới:

  1. Tạo một đối tượng Workbook
  2. Truy cập trang tính đầu tiên
  3. Nhập dữ liệu vào ô
  4. Tạo và Hợp nhất Phạm vi
  5. Lưu tệp excel đầu ra

Đoạn mã dưới đây cho thấy cách hợp nhất dải ô thành một ô lớn hơn trong tệp Excel bằng C#:

// Tạo sổ làm việc
Workbook workbook = new Workbook();

// Truy cập trang tính đầu tiên
Worksheet worksheet = workbook.Worksheets[0];

// Nhập dữ liệu vào Ô C6.
worksheet.Cells[0, 0].PutValue("Merge Range");

// Tạo một phạm vi
Range range = worksheet.Cells.CreateRange("A1:D4");

// Hợp nhất phạm vi vào một ô duy nhất
range.Merge();

// Lưu sổ làm việc
workbook.Save(dataDir + "Merge_Range.xlsx");

Hủy hợp nhất một phạm vi ô Excel trong trang tính bằng C#

Chúng ta đã khám phá việc hợp nhất một dải ô trong Excel trong ví dụ trước. Hãy để chúng tôi chuyển sang hủy hợp nhất các ô đã hợp nhất bằng cách thực hiện theo các bước bên dưới:

  1. Tải nguồn Workbook
  2. Truy cập cụ thể vào Worksheet
  3. Tạo một đối tượng Phạm vi
  4. Gọi phương thức UnMerge
  5. Lưu tệp Excel đầu ra

Đoạn mã dưới đây thực hiện theo các bước sau và cho biết cách hủy hợp nhất một dải ô trong trang tính Excel bằng C#:

// Tạo sổ làm việc
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Truy cập trang tính đầu tiên
Worksheet worksheet = workbook.Worksheets[0];

// Tạo một phạm vi
Range range = worksheet.Cells.CreateRange("A1:D4");

// Hủy hợp nhất phạm vi
range.UnMerge();

// Lưu sổ làm việc
workbook.Save(dataDir + "UnmergeRange.xlsx");

Hợp nhất các ô Excel của Phạm vi được đặt tên trong Trang tính với C#

Đôi khi các tệp Excel chứa một số phạm vi được đặt tên vì nó dễ dàng xác định và thao tác tương ứng. Do đó, bạn cũng có thể hợp nhất bất kỳ dải ô đã đặt tên nào bằng cách chỉ định tên của dải ô đó. Kết quả là tất cả các ô trong phạm vi được đặt tên đó sẽ được hợp nhất thành một ô lớn hơn. Bạn cần làm theo các bước sau:

  1. Tải nguồn Excel Workbook
  2. Truy cập Worksheet chứa phạm vi đã đặt tên
  3. Xác định và áp dụng phong cách
  4. Hợp nhất Phạm vi được đặt tên
  5. Lưu tập tin đầu ra

Đoạn mã dưới đây giải thích cách hợp nhất các ô trong một phạm vi được đặt tên trong C#:

// Tải một sổ làm việc
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Truy cập trang tính đầu tiên
Worksheet worksheet = workbook.Worksheets[0];

// Chỉ định một phạm vi
Range range = worksheet.Cells.CreateRange("A1:D4");


range.Name = "Named_Range";

// Nhận phạm vi.
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");

// Xác định một đối tượng phong cách.
Style style = workbook.CreateStyle();

// Đặt căn chỉnh.
style.HorizontalAlignment = TextAlignmentType.Center;

// Tạo một đối tượng StyleFlag.
StyleFlag flag = new StyleFlag();
// BẬT thuộc tính kiểu dáng tương đối.
flag.HorizontalAlignment = true;

// Áp dụng phong cách cho phạm vi.
range1.ApplyStyle(style, flag);

// Nhập dữ liệu vào phạm vi.
range1[0, 0].PutValue("Aspose");

// Hợp nhất phạm vi
range.Merge();

// Lưu sổ làm việc
workbook.Save(dataDir + "Merge_NamedRange.xlsx");

Đầu ra của đoạn mã trên sẽ giống như hình ảnh sau:

Hợp nhất phạm vi được đặt tên

Sự kết luận

Hợp nhất hoặc hủy hợp nhất các ô trong Sổ làm việc và Trang tính Excel là một tính năng quan trọng và hữu ích. Chúng tôi đã tổng hợp các trường hợp sử dụng khác nhau có thể có trong bài viết này cùng với tất cả các bước và hình ảnh. Giờ đây, bạn có thể dễ dàng làm theo các bước này và hợp nhất hoặc hủy hợp nhất các ô, phạm vi hoặc phạm vi đã đặt tên trong tệp Excel. Trong trường hợp có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể vui lòng liên hệ với chúng tôi qua Diễn đàn hỗ trợ miễn phí.

Xem thêm