Объединение и разъединение ячеек
Введение
Не всегда нужно иметь одинаковое количество ячеек в каждой строке или столбце. Например, вы можете захотеть поместить заголовок в ячейку, которая охватывает несколько столбцов. Или, если создаете счет-фактуру, вам может понадобиться меньше столбцов для итоговой суммы. Чтобы объединить несколько ячеек в одну, объедините их. Microsoft Excel позволяет пользователям выбирать файлы и объединять их, чтобы структурировать электронную таблицу так, как им нужно.
Объединение ячеек в листе
Объединение ячеек в Microsoft Excel
Следующие шаги описывают, как объединить ячейки в электронной таблице с использованием MS Excel.
- Копируйте данные, которые вы хотите в верхнюю левую ячейку в пределах диапазона.
- Выберите ячейки, которые вы хотите объединить.
- Чтобы объединить ячейки в строке или столбце и центрировать содержимое ячейки, нажмите на значок Объединить и центрировать на панели инструментов Форматирование.
Объединение ячеек с помощью 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.
- Выберите объединенную ячейку. Когда ячейки были объединены, на панели инструментов Форматирование выбрано Объединить и центрировать.
- Нажмите на Объединить и центрировать на панели инструментов Форматирование.
Использование 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"); |