В этой статье вы узнаете, как объединить или разъединить ячейки Excel на листе. Как правило, слияние ячеек относится к одной или нескольким ячейкам, объединенным вместе, чтобы сформировать большую ячейку. Однако соседние ячейки могут быть объединены по вертикали или по горизонтали. Принимая во внимание, что преобразование большой ячейки в несколько ячеек известно как разделение или разделение ячеек на листе Excel. Давайте рассмотрим следующие варианты использования:

Объединить ячейки Excel на листе с помощью С#

Вы можете легко объединять ячейки на листе Excel с помощью API Aspose.Cells for .NET с использованием C#. В этом примере мы создадим новый лист Excel с нуля, а затем объединим несколько ячеек, выполнив следующие шаги:

  1. Создайте объект Workbook
  2. Получить первый рабочий стол
  3. Объединить определенные ячейки
  4. Поместить значение в объединенную ячейку
  5. Применение стилей к ячейке
  6. Сохранить выходной лист Excel

Ниже фрагмент кода показывает, как объединить ячейки на листе Excel с помощью C#:

// Создайте рабочую книгу.
Workbook wbk = new Workbook();

// Создайте рабочий лист и получите первый лист.
Worksheet worksheet = wbk.Worksheets[0];

// Создайте объект Cells, чтобы получить все ячейки.
Cells cells = worksheet.Cells;

// Объедините несколько ячеек (C6:E7) в одну ячейку C6.
cells.Merge(5, 2, 2, 3);

// Введите данные в ячейку C6.
worksheet.Cells[5, 2].PutValue("This is my value");

// Создайте объект Style, чтобы получить стиль ячейки C6.
Style style = worksheet.Cells[5, 2].GetStyle();

// Создайте объект шрифта
Font font = style.Font;

// Установите имя.
font.Name = "Times New Roman";

// Установите размер шрифта.
font.Size = 18;

// Установить цвет шрифта
font.Color = System.Drawing.Color.Blue;

// Выделите текст жирным шрифтом
font.IsBold = true;

// Выделить курсивом
font.IsItalic = true;

// Установите цвет фона ячейки C6 на красный.
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;

// Примените стиль к ячейке C6.
cells[5, 2].SetStyle(style);

// Сохраните рабочую книгу.
wbk.Save(dataDir + "MergeCells.xlsx");

Выходной файл, сгенерированный из этого фрагмента кода, будет содержать объединенные ячейки, как показано на снимке экрана ниже:

Объединить ячейки

Разъединить ячейки Excel на листе с помощью С#

Мы научились объединять ячейки в файле Excel. Давайте сделаем еще один шаг в этом процессе. Здесь мы рассмотрим возможность объединения ячеек на листе Excel, выполнив следующие действия:

  1. Загрузить исходный файл Excel
  2. Создайте объект Worksheet и получите доступ к первому листу
  3. Разъединить ячейки
  4. Сохранить выходной файл

Приведенный ниже фрагмент кода основан на этих шагах и показывает, как разъединить ячейки в файле Excel с помощью C#:

// Откройте файл Excel.
Workbook wbk = new Workbook(dataDir + "MergeCells.xlsx");

// Создайте рабочий лист и получите первый лист.
Worksheet worksheet = wbk.Worksheets[0];

// Создайте объект Cells, чтобы получить все ячейки.
Cells cells = worksheet.Cells;

// Разъединить ячейки.
cells.UnMerge(5, 2, 2, 3);

// Сохраните файл.
wbk.Save(dataDir + "UnmergeCells.xlsx");

На следующем изображении показано, как выглядят необъединенные ячейки при запуске приведенного выше кода в вашей среде:

Разъединить ячейки

Объединить диапазон ячеек Excel на листе с помощью С#

Иногда есть несколько ячеек, указанных в разных диапазонах ячеек. Возможно, вы захотите объединить определенный диапазон ячеек на листе Excel. В таких случаях выполните действия, перечисленные ниже:

  1. Создайте объект Workbook
  2. Доступ к первому рабочему листу
  3. Ввод данных в ячейку
  4. Создайте и Объедините диапазон
  5. Сохранить выходной файл Excel

Фрагмент кода ниже показывает, как объединить диапазон ячеек в одну большую ячейку в файле Excel с помощью C#:

// Создать книгу
Workbook workbook = new Workbook();

// Доступ к первому рабочему листу
Worksheet worksheet = workbook.Worksheets[0];

// Введите данные в ячейку C6.
worksheet.Cells[0, 0].PutValue("Merge Range");

// Создать диапазон
Range range = worksheet.Cells.CreateRange("A1:D4");

// Объединить диапазон в одну ячейку
range.Merge();

// Сохраните книгу
workbook.Save(dataDir + "Merge_Range.xlsx");

Разъединить диапазон ячеек Excel на листе с помощью С#

Мы рассмотрели объединение диапазона ячеек в Excel в предыдущем примере. Давайте перейдем к разъединению объединенных ячеек, выполнив следующие шаги:

  1. Загрузить источник Книга
  2. Доступ к конкретному рабочему листу
  3. Создайте объект Диапазон.
  4. Вызвать метод UnMerge
  5. Сохранить выходной файл Excel

Фрагмент кода ниже следует этим шагам и показывает, как разъединить диапазон ячеек на листе Excel с помощью C#:

// Создать книгу
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Доступ к первому рабочему листу
Worksheet worksheet = workbook.Worksheets[0];

// Создать диапазон
Range range = worksheet.Cells.CreateRange("A1:D4");

// Разъединить диапазон
range.UnMerge();

// Сохраните книгу
workbook.Save(dataDir + "UnmergeRange.xlsx");

Объединить ячейки Excel именованного диапазона на листе с помощью С#

Иногда файлы Excel содержат несколько именованных диапазонов, потому что их легко идентифицировать и соответствующим образом манипулировать. Поэтому вы также можете объединить любой именованный диапазон, указав его имя. В результате все ячейки в этом именованном диапазоне будут объединены в одну большую ячейку. Вам необходимо выполнить следующие действия:

  1. Загрузить исходный файл Excel Workbook
  2. Получите доступ к Worksheet, содержащему именованный диапазон
  3. Определить и применить стиль
  4. Объединить Именованный диапазон
  5. Сохранить выходной файл

Фрагмент кода ниже объясняет, как объединить ячейки в именованном диапазоне в C#:

// Загрузить книгу
Workbook workbook = new Workbook(dataDir + "Merge_Range.xlsx");

// Доступ к первому рабочему листу
Worksheet worksheet = workbook.Worksheets[0];

// Укажите диапазон
Range range = worksheet.Cells.CreateRange("A1:D4");


range.Name = "Named_Range";

// Получите диапазон.
Range range1 = workbook.Worksheets.GetRangeByName("Named_Range");

// Определите объект стиля.
Style style = workbook.CreateStyle();

// Установите выравнивание.
style.HorizontalAlignment = TextAlignmentType.Center;

// Создайте объект StyleFlag.
StyleFlag flag = new StyleFlag();
// Включите относительный атрибут стиля.
flag.HorizontalAlignment = true;

// Примените стиль к диапазону.
range1.ApplyStyle(style, flag);

// Введите данные в диапазон.
range1[0, 0].PutValue("Aspose");

// Объединить диапазон
range.Merge();

// Сохраните книгу
workbook.Save(dataDir + "Merge_NamedRange.xlsx");

Вывод приведенного выше фрагмента кода будет таким же, как на следующем изображении:

Объединить именованный диапазон

Вывод

Объединение или разделение ячеек в книгах и листах Excel — важная и полезная функция. В этой статье мы собрали различные возможные варианты использования вместе со всеми шагами и изображениями. Теперь вы можете легко выполнить эти шаги и объединить или разъединить ячейки, диапазоны или именованные диапазоны в файлах Excel. Если у вас возникнут какие-либо вопросы или проблемы, вы можете связаться с нами через Бесплатный форум поддержки.

Смотрите также