Объединение и разъединение ячеек

Введение

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

Объединение ячеек в листе

Объединение ячеек в Microsoft Excel

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

  1. Копируйте данные, которые вы хотите в верхнюю левую ячейку в пределах диапазона.
  2. Выберите ячейки, которые вы хотите объединить.
  3. Чтобы объединить ячейки в строке или столбце и центрировать содержимое ячейки, нажмите на значок Объединить и центрировать на панели инструментов Форматирование.

Объединение ячеек с помощью Aspose.Cells

В классе Aspose.Cells.Cells есть несколько полезных методов для этой задачи. Например, метод Merge() объединяет ячейки в одну ячейку в указанном диапазоне.

В следующем примере показано, как объединить ячейки (C6:E7) в электронной таблице.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create directory if it is not already present.
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
System.IO.Directory.CreateDirectory(dataDir);
// Create a Workbook.
Workbook wbk = new Workbook();
// Create a Worksheet and get the first sheet.
Worksheet worksheet = wbk.Worksheets[0];
// Create a Cells object ot fetch all the cells.
Cells cells = worksheet.Cells;
// Merge some Cells (C6:E7) into a single C6 Cell.
cells.Merge(5, 2, 2, 3);
// Input data into C6 Cell.
worksheet.Cells[5, 2].PutValue("This is my value");
// Create a Style object to fetch the Style of C6 Cell.
Style style = worksheet.Cells[5, 2].GetStyle();
// Create a Font object
Font font = style.Font;
// Set the name.
font.Name = "Times New Roman";
// Set the font size.
font.Size = 18;
// Set the font color
font.Color = System.Drawing.Color.Blue;
// Bold the text
font.IsBold = true;
// Make it italic
font.IsItalic = true;
// Set the backgrond color of C6 Cell to Red
style.ForegroundColor = System.Drawing.Color.Red;
style.Pattern = BackgroundType.Solid;
// Apply the Style to C6 Cell.
cells[5, 2].SetStyle(style);
// Save the Workbook.
wbk.Save(dataDir + "mergingcells.out.xls");

Разъединение (разделение) объединенных ячеек

Использование Microsoft Excel

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

  1. Выберите объединенную ячейку. Когда ячейки были объединены, на панели инструментов Форматирование выбрано Объединить и центрировать.
  2. Нажмите на Объединить и центрировать на панели инструментов Форматирование.

Использование Aspose.Cells

В классе Aspose.Cells.Cells есть метод под названием UnMerge(), который разделяет ячейки в их первоначальное состояние. Метод разъединяет ячейки, используя ссылку на ячейку в объединенном диапазоне.

Приведенный ниже пример показывает, как разделить объединенные ячейки (C6). Пример использует файл, созданный в предыдущем примере, и разбивает объединенные ячейки.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Create a Workbook.
// Open the excel file.
Workbook wbk = new Aspose.Cells.Workbook(dataDir + "mergingcells.xls");
// Create a Worksheet and get the first sheet.
Worksheet worksheet = wbk.Worksheets[0];
// Create a Cells object ot fetch all the cells.
Cells cells = worksheet.Cells;
// Unmerge the cells.
cells.UnMerge(5, 2, 2, 3);
// Save the file.
wbk.Save(dataDir + "unmergingcells.out.xls");

Продвинутые темы