Я хотел бы моделировать функцию автозапуска Excel в xlsxwriter Python. В соответствии с этим URL, он непосредственно не поддерживается: http://xlsxwriter.readthedocs.io/worksheet.htmlИмитировать столбец автоопределения в xslxwriter
Тем не менее, она должна быть достаточно проста в цикле через каждую ячейку на листе и определить максимальный размер для столбца и просто использовать worksheet.set_column (строка, столбец , width), чтобы установить ширину.
Осложнения, что удерживает меня от просто написания этого:
- что URL не определяет, какие блоки для третьего аргумента set_column.
- Я не могу найти способ измерения ширины элемента, который я хочу вставить в ячейку.
- У xlsxwriter отсутствует способ чтения конкретной ячейки. Это означает, что мне нужно отслеживать каждую ширину ячейки, когда я пишу ячейку. Было бы лучше, если бы я мог просто пропустить все ячейки, таким образом можно было бы написать общую рутину.
Попытки установить автоматическую ширину не так просто. Ширина глифа зависит от шрифта. А что, если вы пишете уравнения в ячейку? Тогда вы не можете определить ширину ячейки, основываясь на том, что вы пишете в ней. Единицы произвольны, это правда, но есть реальное определение! Один блок приближается к ширине одного символа в шрифте по умолчанию. См. Https://support.microsoft.com/en-us/kb/214123 –
Связанный с этим вопрос относительно xlwt (общий подход будет таким же для XlsxWriter, хотя вы, вероятно, захотите использовать ширину для Calibri 11 вместо Arial 10) : http://stackoverflow.com/questions/6929115/python-xlwt-accessing-existing-cell-content-auto-adjust-column-width/23946840 –