Excel

Как расширить колонки в excel: Настройка размера столбца по размеру данных

Изменение размера строк и столбцов в текстовой таблице

Изменение размера строк и столбцов в текстовой таблице Contents

Index 🔎︎

Можно менять ширину ячеек и столбцов таблицы, а также высоту её строк.

Кроме того, можно равномерно распределить строки и столбцы с помощью значков на панели инструментов Оптимизация панели Таблица .

Изменение ширины столбцов и ячеек

Изменение ширины столбца

Выполните одно из следующих действий.

  • Держите указатель мыши над разделительной линией столбца до тех пор, пока курсор не превратится в значок разделителя, а затем перетащите линию в новое положение.

  • 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. При этом, модуль

openpyxl, устанавливает высоту строки по умолчанию: 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

Я решил это так:

  1. Выберите всю таблицу.

  2. Дважды щелкните линию на поле между двумя строками.

Этот автоматический размер каждой строки, а не только одной строки, на которую я нажал.

Видео об этом можно посмотреть здесь: Настройка высоты строк в Excel

4

Затем выберите данные в меню Формат->Столбец->Автоподбор.

Для Excel 2010 меню: «Главная», «Ячейки», «Формат», «Автоподбор ширины столбца».

Для Excel 2015 (Mac) Предварительный просмотр это все еще то же меню, что и в Excel 2 и до 2003 года, поэтому Excel 2010 выглядит странным выбросом

Высоты строк: Выделите строки, размер которых вы хотите изменить. нажмите на вкладку «Главная» на ленте. В группе «Ячейки» щелкните значок «Формат» -> появится раскрывающееся меню, выберите «Автоподбор высоты строки».

Ширина столбцов: Выделите столбцы, размер которых вы хотите изменить. нажмите на вкладку «Главная» на ленте. В группе «Ячейки» щелкните значок «Формат» -> появится раскрывающееся меню, выберите «Автоподбор ширины ячейки».

кстати, если вы некоторое время использовали Word, вы узнаете выпадающее меню.

В поле, где столбцы названы, дважды щелкните границу столбца, который необходимо расширить, в том же месте, где вы должны щелкнуть и перетащить, чтобы вручную изменить размер. Это автоматически изменит его размер.

0

Как многие уже говорили:

  • Меню Главная вкладка -> Формат->Столбец->Автоподбор высоты строки/столбца

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

Итак, да, в двух словах, чтобы визуализировать файл CSV, сгенерированный автоматически:

  • CTRL+A
  • Вкладка «Главная» меню -> Формат-> Столбец-> Автоподбор высоты строки/столбца

Вы можете использовать команды клавиатуры как таковые:

Ctrl + A , чтобы выбрать все/выбрать всю электронную таблицу

Alt + H (для домашней вкладки), затем O (для формата), I (для авторазмера по ширине).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *