xlsxwriter: при установке ширины столбца 0 ширина всех остальных столбцов сбрасывается - PullRequest
0 голосов
/ 07 ноября 2018

Я создал книгу xls, используя xlsxwriter. Я пытаюсь установить ширину всех столбцов в значение по умолчанию в начале, а затем настраиваю ширину столбца 0 позже в сценарии на основе содержимого ячейки. Проблема в том, что когда я это делаю, ширина всех остальных столбцов сбрасывается.

Вот минимальный пример, представляющий проблему:

import xlsxwriter

wb = xlsxwriter.Workbook('Test.xlsx')
ws = wb.add_worksheet('Num')

numArr = [0.000000520593523979187, 13.123456789, 1.789456, 0.002345, 0.00123]

for i,num in enumerate(numArr):
    ws.write_number(i, 0, num)

ws.set_row(0, 40)
ws.set_row(1, 50)
# Set column width to a default value
ws.set_column(0, 7, width = 20)
# Some other calculations
# Set column 0 width to a different value
ws.set_column(0, 0, 50)

wb.close()

Это результат:

enter image description here

Проблема не отображается, когда я устанавливаю ширину, например, для столбца 1:

enter image description here

Это ошибка или я что-то упустил?

1 Ответ

0 голосов
/ 07 ноября 2018

При использовании set_column() вам необходимо установить независимые (не перекрывающиеся) диапазоны.

Таким образом, в вашем случае будет работать следующее:

ws.set_column(1, 7, width=20)
ws.set_column(0, 0, 50)
...