Как заблокировать прокрутку в Xlsxwriter? - PullRequest
1 голос
/ 24 апреля 2019

Я хочу остановить Excel от прокрутки мимо определенной строки / столбца.У меня есть таблица, которую я добавляю в excel, и везде за пределами диапазона таблицы должен быть безлимитный фон.Тем не менее, при размещении без подкладки фона, это включает в себя невыделенную часть в полосе прокрутки.Поэтому я хотел бы предотвратить прокрутку за пределы таблицы.

Я пробовал заморозить панели, но таблица выходит за рамки экрана (примерно 50 строк и столбцов) и замораживает панель.не позволит прокрутить всю таблицу.

1 Ответ

1 голос
/ 24 апреля 2019

Это зависит от того, как вы будете делать это в Excel.

Один из способов - скрыть все неиспользуемые строки и столбцы. Чтобы скрыть большое количество строк, необходимо использовать оптимизацию Excel, чтобы скрыть строки без настройки каждой из них (примерно 1 миллион строк). Для этого в XlsxWriter вы можете использовать метод set_default_row().

Столбцы не нуждаются в этой оптимизации и могут быть скрыты с помощью set_column().

Вот пример:

import xlsxwriter

workbook = xlsxwriter.Workbook('hide_row_col.xlsx')
worksheet = workbook.add_worksheet()

# Write some data.
worksheet.write('D1', 'Some hidden columns.')
worksheet.write('A8', 'Some hidden rows.')

# Hide all rows without data.
worksheet.set_default_row(hide_unused_rows=True)

# Set the height of empty rows that we do want to display even
# if it is the default height.
for row in range(1, 7):
    worksheet.set_row(row, 15)

# Columns can be hidden explicitly. This doesn't increase the file size.
worksheet.set_column('G:XFD', None, None, {'hidden': True})

workbook.close()

Выход:

enter image description here

...