Изменение размера строк и столбцов в текстовой таблице
Изменение размера строк и столбцов в текстовой таблице ContentsIndex 🔎︎
Можно менять ширину ячеек и столбцов таблицы, а также высоту её строк.
Кроме того, можно равномерно распределить строки и столбцы с помощью значков на панели инструментов Оптимизация панели Таблица .
Изменение ширины столбцов и ячеек
Изменение ширины столбца
Выполните одно из следующих действий.
Держите указатель мыши над разделительной линией столбца до тех пор, пока курсор не превратится в значок разделителя, а затем перетащите линию в новое положение.
org/ItemListUnordered» dir=»auto»>Удерживайте клавиши COMMANDCTRL, а затем щёлкните линию и перетащите её для пропорционального масштабирования всех ячеек, находящихся справа от линии или над ней.
Установите курсор в ячейку столбца, удерживайте клавишу OPTIONALT и нажимайте клавишу со стрелкой ВЛЕВО или ВПРАВО.
Для увеличения расстояния от левого края страницы до края таблицы удерживайте OPTIONALT+SHIFT и нажимайте клавишу со стрелкой ВПРАВО.

Держите указатель мыши над разделительной линией столбца на линейке до тех пор, пока курсор не превратится в значок разделителя, а затем перетащите линию в новое положение.
Чтобы определить поведение клавиш со стрелками, выберите LibreOffice — ПараметрыСервис — Параметры — LibreOffice Writer — Таблица и выберите требуемые параметры в области Управление с клавиатуры.
Изменение ширины ячейки
Удерживайте комбинацию клавиш OPTION+COMMANDALT+CTRL и нажимайте клавишу со стрелкой ВЛЕВО или ВПРАВО
Изменение высоты строки
Чтобы изменить высоту строки, установите курсор в ячейку строки, удерживайте клавишу OPTIONALT и нажимайте клавишу со стрелкой ВВЕРХ или ВНИЗ.
Изменение размера всей таблицы
Для изменения ширины и высоты таблицы необходимо выполнить следующее:
Щёлкните внутри таблицы. Для изменения размера таблицы перенесите границу между белой и серой областью линеек.

Click inside the table. Choose Table — Properties to open a dialog and set the properties to the numbers.
Для обтекания текстом таблиц и размещения двух таблиц рядом следует вставить таблицы во врезки. Щёлкните в таблице, дважды нажмите COMMANDCTRL+A для выбора всей таблицы, затем выберите Вставка — Врезка.
В отличие от таблиц в формате OpenDocument, таблицы внутри HTML-страниц не предусматривают всего набора свойств и команд.
Изменение строк и столбцов с помощью клавиатуры
Объединение и разбиение ячеек
Использование линеек
Please support us!
Как изменить размеры строки/столбца модулем openpyxl в Python.
В материале рассказывается о методах объектов модуля openpyxl, которые отвечают за такие свойства документа XLSX как изменение размеров строки и столбца, а также их сворачивание/скрытие при открытии электронной таблицы в программе Excel.
- Изменение ширины столбца, высоты строки модулем
openpyxl.- Проблема автоматической подгонки ширины колонок.
- Скрытие/сворачивание одного или несколько строк/столбцов.
Изменение ширины столбца, высоты строки модулем
openpyxl.Объект листа Worksheet (далее будем обозначать его как ws) модуля openpyxl имеет свойства, представляющие собой словарные объекты ws.row_dimensions и ws.column_dimensions. Эти словарные объекты хранят в себе массив ячеек определенной строки RowDimension и определенного столбца ColumnDimension соответственно, которые в свою очередь содержат информацию о свойствах отображения, в том числе высоту строки RowDimension.height и ширину столбца ColumnDimension.width. Получать эти массивы ячеек можно обращаясь к словарным объектам по ключам, которые имеют значения номера строки и букву колонки, например:
ws.
row_dimensions[2] будет содержать в себе массив ячеекRowDimension, которые расположены в строке с номером 2.ws.column_dimensions['B']будет содержать в себе массив ячеекColumnDimension, которые расположены в столбце с буквой'B'.
Так вот, установить высоту, например пятой строки документа XLSX можно, если присвоить атрибуту ws.row_dimensions[5].heightцелое число. Соответственно, изменить ширину столбца с буквой 'A', также можно, присвоив целое число атрибуту ws.column_dimensions[1].width.
Смотрим пример изменения высоты строки и ширины ячейки:
>>> from openpyxl import Workbook >>> wb = Workbook() # получаем созданный по # умолчанию активный лист >>> ws = wb.active # присвоим активному листу имя >>> ws.title = 'RowColDimension' # изменяем ширину колонки >>> ws.column_dimensions['B'].Вниманиеwidth = 30 >>> ws.column_dimensions['D'].width = 50 # изменяем высоту строки >>> ws.row_dimensions[5].height = 50 # для наглядности запишем в ячейки значения >>> ws['B5'] = 'ширина = 30, высота = 50' >>> ws['D5'] = 'ширина = 50, высота = 50' # ну и выравним >>> from openpyxl.styles import Alignment >>> for cell in ws[5]: ... if cell.value: ... # выравниваем ячейки, только имеющие значения ... cell.alignment = Alignment(horizontal="center", vertical="center") # теперь сохраним и посмотрим результат >>> wb.save('width-height.xlsx')
! Если высота строки не изменялась программно или вручную (через программу Excel) то для этих строк, атрибуты ws.row_dimensions[i].height будут возвращать None. При этом, модуль , устанавливает высоту строки по умолчанию: defaultRowHeight=15
Следовательно, что бы узнать все высоты строк/колонок, нужно выполнить что-то подобное:
from openpyxl import load_workbook
wb = load_workbook('width-height.
xlsx')
ws = wb.active
# для строк
for i in range(1, ws.max_row+1):
# если высота строки не изменялась программно
# или вручную то `rh` будет присваиваться `None`
rh = ws.row_dimensions[i].height
# по умолчанию высота строки равна 15 единицам
row_heights = 15 if rh is None else rh
print(f'Строка {i} имеет высоту {row_heights}')
# ну и для колонок
from openpyxl.utils.cell import get_column_letter
for i in range(1, ws.max_column+1):
# преобразовываем индекс столбца в его букву
letter = get_column_letter(i)
# получаем ширину столбца
col_width = ws.column_dimensions[letter].width
print(f'Столбец {letter} имеет ширину {col_width}')
# Строка 1 имеет высоту 15
# Строка 2 имеет высоту 15
# Строка 3 имеет высоту 15
# Строка 4 имеет высоту 15
# Строка 5 имеет высоту 50.0
# Столбец A имеет ширину 13.0
# Столбец B имеет ширину 30.0
# Столбец C имеет ширину 13.0
# Столбец D имеет ширину 50.0
Примечание:
openpyxl.utils.cell.— преобразует индекс столбца в букву столбца (например, столбец
get_column_letter(idx)'C'преобразуется в цифру 3).ws.max_row— возвращает целое число, которое означает количество строк с данными.ws.max_column— возвращает целое число, которое означает количество столбцов с данными.
Проблема автоматической подгонки ширины колонок.
Модуль openpyxl не поддерживает автоматическую подгонку ширины столбца, под данные, записанные в ячейку. В принципе, в автоматической подгонке нет ничего сложного, но есть одна большая проблема. Эта проблема заключается в том, что бы найти зависимость между количеством символов записанных в ячейку и переменной шириной шрифта TrueType, которая зависит от его величины (кегеля) и плюс ко всему от используемых в ячейке цифр, символов и знаков препинания.
Автоматическая подгонка ширины столбцов в документе XLSX при помощи модуля openpyxl могла бы выглядеть как-то так, если выше описанная проблема будет решена.
from openpyxl import Workbook
from openpyxl.styles import Font
wb = Workbook()
ws = wb.active
# pfgjkyztv zxtqrb
ws['c2'] = 'Это большая ячейка'
ws['c3'] = 'Эта ячейка чуть больше'
ws['f2'] = 'Это большая верхняя ячейка'
ws['f3'] = 'Эта ячейка чуть меньше'
# размер шрифта документа
font_size = 16
# словарь с размерами столбцов
cols_dict = {}
# проходимся по всем строкам документа
for row in ws.rows:
# теперь по ячейкам каждой строки
for cell in row:
# получаем букву текущего столбца
letter = cell.column_letter
# если в ячейке записаны данные
if cell.value:
# устанавливаем в ячейке размер шрифта
cell.font = Font(name='Calibri', size=font_size)
# вычисляем количество символов, записанных в ячейку
len_cell = len(str(cell.value))
# длинна колонки по умолчанию, если буква
# текущего столбца отсутствует в словаре `cols_dict`
len_cell_dict = 0
# смотрим в словарь c длинами столбцов
if letter in cols_dict:
# если в словаре есть буква текущего столбца
# то извлекаем соответствующую длину
len_cell_dict = cols_dict[letter]
# если текущая длина данных в ячейке
# больше чем длинна из словаря
if len_cell > len_cell_dict:
# записываем новое значение ширины этого столбца
cols_dict[letter] = len_cell
###!!! ПРОБЛЕМА АВТОМАТИЧЕСКОЙ ПОДГОНКИ !!!###
###!!! расчет новой ширины колонки (здесь надо подгонять) !!!###
new_width_col = len_cell * font_size**(font_size*0.
009)
# применение новой ширины столбца
ws.column_dimensions[cell.column_letter].width = new_width_col
# пишем электронную таблицу в
# файл и смотрим что получилось
wb.save('autifit.xlsx')
Скрытие/сворачивание группы строк/столбцов.
Так же сами словарные объекты ws.row_dimensions и ws.column_dimensions имеют метод .group(start, end=None, outline_level=1, hidden=False), который разрешает группировку ряда последовательных строк или столбцов вместе, что бы свернуть/скрыть или показать их.
Принимаемые аргументы методом .group():
start: первая строка или столбец для группировки (обязательно).end=None: последняя строка или столбец для группировки (необязательно).outline_level=1: уровень вложенности сворачивания. Например можно свернуть с 1 по 10 строки с уровнем 1, а потом свернуть строки с 5 по 10 с уровнем 2.
В этом случае, при открытии документа появиться возможность показать/развернуть скрытые строки в 2 этапа. Так же это работает и с колонками.hidden=False: должна ли группа быть свернута/скрыта в рабочей книге.
Смотрим пример сворачивания группы колонок и строк:
>>> from openpyxl import Workbook
>>> wb = Workbook()
# получаем созданный по умолчанию активный
# лист и сразу присвоим ему имя
>>> ws = wb.active
>>> ws.title = 'RowColFold'
# свернем колонки с буквами с 'C' до 'F'
>>> ws.column_dimensions.group('C','F', hidden=True)
# свернем строки с номерами с 3 по 10
>>> ws.row_dimensions.group(3, 10, hidden=True)
# теперь свернем строки с номерами с 7 по 10, с уровнем 2
>>> ws.row_dimensions.group(7,10, outline_level=2, hidden=True)
# теперь сохраним и посмотрим результат
>>> wb.save('fold_row-col.xlsx')
Теперь, открыв сохраненный документ, строки можно открывать и сворачивать в 2 этапа, нажимая на соответствующий элемент управления.
Колонки, с именами с ‘C’ до ‘F’ открываются/сворачиваются в один этап.
Как развернуть все столбцы в электронной таблице Excel?
спросил
Изменено 2 года, 5 месяцев назад
Просмотрено 343 тысячи раз
У меня есть электронная таблица с множеством столбцов. Все столбцы небольшой стандартной ширины. Двойной щелчок по линии раздела между столбцами увеличит ширину столбца, чтобы охватить самую длинную строку в этом столбце.
Есть ли ярлык для выполнения этой операции в каждом столбце электронной таблицы?
- Microsoft Excel
1
Щелкните место пересечения заголовков строки и столбца, чтобы выделить весь лист, например:
Затем дважды щелкните любую из строк раздела столбца.
Я делаю это постоянно, и это так быстро, как только можно.
2
Я не знаю о ярлыке. Я использую меню.
1) Выбрать полную таблицу
2) Выбрать формат
3) Столбец
4) Выбор автоподбора
5
Ctrl + A для выбора всех ячеек, затем нажмите Alt + H , O , I .
2
Попробуйте выделить все (быстро дважды CTRL + A или просто выберите нужные столбцы), а затем дважды щелкните строку раздела. В Excel 2007 это решение отлично работает; другими словами, он автоматически устанавливает размер каждого столбца в соответствии с самой длинной строкой.
4
в Excel 2016 вы можете выбрать все с помощью Ctrl + A, затем на вкладке «Главная» найдите меню «Формат».
Нажмите и выберите Autofit Column Width
Select All — «Control» A
Expand all width and heights Column «Alt» H-O-I
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
Как автоматически изменить размер ячеек в Excel?
спросил
Изменено 4 года, 11 месяцев назад
Просмотрено 479 тысяч раз
Я скопировал некоторые данные в Excel 2010. Я обнаружил, что некоторые ячейки нужно расширить, чтобы данные поместились. Как автоматически настроить высоту ячеек в соответствии с содержимым?
- Microsoft Excel
0
Я решил это так:
Выберите всю таблицу.
Дважды щелкните линию на поле между двумя строками.
Этот автоматический размер каждой строки, а не только одной строки, на которую я нажал.
Видео об этом можно посмотреть здесь: Настройка высоты строк в Excel
4
Затем выберите данные в меню Формат->Столбец->Автоподбор.
Для Excel 2010 меню: «Главная», «Ячейки», «Формат», «Автоподбор ширины столбца».
Для Excel 2015 (Mac) Предварительный просмотр это все еще то же меню, что и в Excel 2 и до 2003 года, поэтому Excel 2010 выглядит странным выбросом
Высоты строк: Выделите строки, размер которых вы хотите изменить. нажмите на вкладку «Главная» на ленте. В группе «Ячейки» щелкните значок «Формат» -> появится раскрывающееся меню, выберите «Автоподбор высоты строки».
Ширина столбцов: Выделите столбцы, размер которых вы хотите изменить. нажмите на вкладку «Главная» на ленте. В группе «Ячейки» щелкните значок «Формат» -> появится раскрывающееся меню, выберите «Автоподбор ширины ячейки».
кстати, если вы некоторое время использовали Word, вы узнаете выпадающее меню.
В поле, где столбцы названы, дважды щелкните границу столбца, который необходимо расширить, в том же месте, где вы должны щелкнуть и перетащить, чтобы вручную изменить размер. Это автоматически изменит его размер.
0
Как многие уже говорили:
- Меню Главная вкладка -> Формат->Столбец->Автоподбор высоты строки/столбца
Но для меня хитрость заключалась в том, чтобы выбрать все строки, которые необходимо учитывать. Обратите внимание, что это может показаться нелогичным, но первой строки недостаточно, чтобы Excel понял, что размер должен измениться на основе всего содержимого в каждом столбце.
Итак, да, в двух словах, чтобы визуализировать файл CSV, сгенерированный автоматически:
- CTRL+A
- Вкладка «Главная» меню -> Формат-> Столбец-> Автоподбор высоты строки/столбца
Вы можете использовать команды клавиатуры как таковые:
Ctrl + A , чтобы выбрать все/выбрать всю электронную таблицу
Alt + H (для домашней вкладки), затем O (для формата), I (для авторазмера по ширине).


row_dimensions[2]
width = 30
>>> ws.column_dimensions['D'].width = 50
# изменяем высоту строки
>>> ws.row_dimensions[5].height = 50
# для наглядности запишем в ячейки значения
>>> ws['B5'] = 'ширина = 30, высота = 50'
>>> ws['D5'] = 'ширина = 50, высота = 50'
# ну и выравним
>>> from openpyxl.styles import Alignment
>>> for cell in ws[5]:
... if cell.value:
... # выравниваем ячейки, только имеющие значения
... cell.alignment = Alignment(horizontal="center", vertical="center")
# теперь сохраним и посмотрим результат
>>> wb.save('width-height.xlsx')
xlsx')
ws = wb.active
# для строк
for i in range(1, ws.max_row+1):
# если высота строки не изменялась программно
# или вручную то `rh` будет присваиваться `None`
rh = ws.row_dimensions[i].height
# по умолчанию высота строки равна 15 единицам
row_heights = 15 if rh is None else rh
print(f'Строка {i} имеет высоту {row_heights}')
# ну и для колонок
from openpyxl.utils.cell import get_column_letter
for i in range(1, ws.max_column+1):
# преобразовываем индекс столбца в его букву
letter = get_column_letter(i)
# получаем ширину столбца
col_width = ws.column_dimensions[letter].width
print(f'Столбец {letter} имеет ширину {col_width}')
# Строка 1 имеет высоту 15
# Строка 2 имеет высоту 15
# Строка 3 имеет высоту 15
# Строка 4 имеет высоту 15
# Строка 5 имеет высоту 50.0
# Столбец A имеет ширину 13.0
# Столбец B имеет ширину 30.0
# Столбец C имеет ширину 13.0
# Столбец D имеет ширину 50.0
get_column_letter(idx)