Объединение и разъединение ячеек
Нельзя всегда одинаковое количество ячеек в каждой строке или столбце. Например, вы можете захотеть поместить заголовок в ячейку, которая занимает несколько столбцов. Или, если создаете счет-фактуру, вы можете захотеть меньше столбцов для итоговой суммы. Чтобы объединить несколько ячеек в одну, выберите их и объедините. Microsoft Excel позволяет пользователям выбирать ячейки и объединять их для структурирования таблицы так, как им удобно.
Результат объединения, а затем разъединения диапазона ячеек с тем же форматированием, что и у ячеек слева в Microsoft Excel
Aspose.Cells поддерживает эту функцию и также может объединять ячейки в листе. Вы также можете разъединить, или разделить, объединенные ячейки. Ссылка ячейки, объединенной ячейки, - это ссылка на верхнюю левую ячейку в исходно выбранном диапазоне.
Обратите внимание, что при объединении ячеек сохраняются только данные в верхней левой ячейке. Если в других ячейках в диапазоне есть данные, эти данные удаляются.
Форматирование также основано на ссылочной ячейке, поэтому при объединении ячеек на объединенную ячейку применяются настройки форматирования верхней левой ячейки в диапазоне. При разделении новые ячейки сохраняют свои исходные настройки форматирования.
Объединение ячеек в листе.
Использование Microsoft Excel
Ниже описаны действия, как объединить ячейки на листе с использованием Microsoft Excel.
- Копируйте данные, которые вы хотите в верхнюю левую ячейку в пределах диапазона.
- Выберите ячейки, которые вы хотите объединить.
- Чтобы объединить ячейки в строке или столбце и центрировать содержимое ячейки, нажмите на значок Объединить и центрировать на панели инструментов Форматирование.
Использование Aspose.Cells
У класса Cells есть несколько полезных методов для этой задачи. Например, метод merge() объединяет ячейки в одну ячейку в указанном диапазоне ячеек.
Ниже приведен результат после выполнения приведенного ниже кода.
Ячейки (C6:E7) были объединены
Пример кода
В следующем примере показано, как объединить ячейки (C6:E7) в электронной таблице.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(MergingCellsInWorksheet.class) + "data/"; | |
// Create a Workbook. | |
Workbook wbk = new Workbook(); | |
// Create a Worksheet and get the first sheet. | |
Worksheet worksheet = wbk.getWorksheets().get(0); | |
// Create a Cells object to fetch all the cells. | |
Cells cells = worksheet.getCells(); | |
// Merge some Cells (C6:E7) into a single C6 Cell. | |
cells.merge(5, 2, 2, 3); | |
// Input data into C6 Cell. | |
worksheet.getCells().get(5, 2).setValue("This is my value"); | |
// Create a Style object to fetch the Style of C6 Cell. | |
Style style = worksheet.getCells().get(5, 2).getStyle(); | |
// Create a Font object | |
Font font = style.getFont(); | |
// Set the name. | |
font.setName("Times New Roman"); | |
// Set the font size. | |
font.setSize(18); | |
// Set the font color | |
font.setColor(Color.getBlue()); | |
// Bold the text | |
font.setBold(true); | |
// Make it italic | |
font.setItalic(true); | |
// Set the backgrond color of C6 Cell to Red | |
style.setForegroundColor(Color.getRed()); | |
style.setPattern(BackgroundType.SOLID); | |
// Apply the Style to C6 Cell. | |
cells.get(5, 2).setStyle(style); | |
// Save the Workbook. | |
wbk.save(dataDir + "mergingcells_out.xls"); | |
wbk.save(dataDir + "mergingcells_out.xlsx"); | |
wbk.save(dataDir + "mergingcells_out.ods"); | |
// Print message | |
System.out.println("Process completed successfully"); |
Разъединение (разделение) объединенных ячеек
Использование Microsoft Excel
Следующие шаги описывают, как разделить объединенные ячейки с помощью Microsoft Excel.
- Выберите объединенную ячейку. Когда ячейки были объединены, на панели инструментов Форматирование выбрано Объединить и центрировать.
- Нажмите на Объединить и центрировать на панели инструментов Форматирование.
Использование Aspose.Cells
У класса Cells есть метод с названием unMerge(), который разделяет ячейки на их исходное состояние. Метод разбивает ячейки, используя ссылку на ячейку в диапазоне объединенных ячеек.
Пример кода
Приведенный ниже пример показывает, как разделить объединенные ячейки (C6). Пример использует файл, созданный в предыдущем примере, и разбивает объединенные ячейки.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(UnMergingCellsInWorksheet.class) + "data/"; | |
// Create a Workbook. | |
Workbook wbk = new Workbook(dataDir + "mergingcells.xls"); | |
// Create a Worksheet and get the first sheet. | |
Worksheet worksheet = wbk.getWorksheets().get(0); | |
// Create a Cells object to fetch all the cells. | |
Cells cells = worksheet.getCells(); | |
// Unmerge the cells. | |
cells.unMerge(5, 2, 2, 3); | |
// Save the file. | |
wbk.save(dataDir + "UnMergingCellsInWorksheet_out.xls"); | |
// Print message | |
System.out.println("Process completed successfully"); |