Я использую библиотеку openpyxl
, чтобы выполнить некоторые операции вырезания / вставки Excel в электронных таблицах.
Допустим, мои операции дают следующие данные (пожалуйста, используйте их в целях воспроизводимости):
col1;col2
1;0,17153686
2;0,615324797
3;0,573701744
4;0,503462355
5;0,154284926
6;0,10027259
7;0,926526263
8;0,871108863
9;0,048035143
10;0,38731583
11;0,48529708
12;0,901046699
13;0,985505734
14;0,606868435
15;0,280662943
16;0,356188065
17;0,102727139
18;0,800757985
19;0,767509347
20;0,418477445
21;0,751892035
22;0,959923786
23;0,524754643
24;0,014140778
25;0,267427799
26;0,666726192
27;0,019314009
28;0,764133187
29;0,587031993
Это код, который выбирает активную ячейку в соответствии с заданным аргументом:
from openpyxl import load_workbook, Workbook
def set_active_cell(new_file_name, active_row):
print(active_row)
workbook = load_workbook(new_file_name)
sheet = workbook.get_sheet_names()[0] #get the name of first sheet
worksheet = workbook.get_sheet_by_name(sheet)
coords = "A" + str(active_row)
print(coords)
# worksheet.cell(row=active_row, column=1)
worksheet.sheet_view.selection[0].activeCell = coords
worksheet.sheet_view.selection[0].sqref = coords
workbook.save(new_file_name)
if __name__ == "__main__":
set_active_cell("data.xlsx", 28)
Как вы можете видеть на прикрепленном изображении, мой вид по умолчанию охватывает первые 18 строк. Если active_row
меньше или равно 18, я получаю то, что хочу: я вижу активную ячейку в моем начальном представлении файла Excel.
Однако любое значение active_row
больше 18 приводит к проблеме. Активная ячейка выбрана правильно, но мой начальный вид по-прежнему первые 18 строк, и мне нужно прокрутить вниз, чтобы добраться до активной ячейки.
Есть ли способ изменить вид с помощью openpyxl
?