首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Openpyxl自动大小列大小

问Openpyxl自动大小列大小
EN

Stack Overflow用户
提问于 2022-02-16 10:03:58
回答 1查看 2.6K关注 0票数 0

早上,我想当单元格被添加时,它们调整到文本的宽度,有什么想法吗?

代码语言:javascript
复制
def excel():# Writing on a EXCEL FILE
                filename = (f"{myPath}/{day}.{month}.{year}.xlsx")
                try:
                    wb = load_workbook(filename)
                    ws = wb.worksheets[0]  # select first worksheet
                except FileNotFoundError:
                    headers_row = ['Name','Pers. Nummer','Kürse','Funktion','Dienstbeginn','Dienstende','Schitdauer','Bezahlte Zeit','Kommentar']
                    wb = Workbook()
                    ws = wb.active
                    ws.append(headers_row)              
                wb.save(filename)
                ws.append([userfinder,tagesinfo,emptycell,emptycell,emptycell,emptycell,emptycell,emptycell])
                for cols in ws.iter_cols(  ):
                     if cols[-1].value:
                        cols[-1].fill=(PatternFill(fgColor="D5D5D5", fill_type='solid'))
                        cols[-1].border = Border(left=Side(style='thin'),right=Side(style='thin'),top=Side(style='thin'),bottom=Side(style='thin'))                
                wb.save(filename)
                wb.close()
                print(f'{userfinder}-{ivunumber} - {tagesinfo} OK')
            excel()
EN

回答 1

Stack Overflow用户

发布于 2022-02-17 01:24:51

只需添加行,就可以使用python将列宽和行高调整为特定值。

代码语言:javascript
复制
ws.column_dimensions['A'].width = 30
ws.row_dimensions[1].height = 20 

以上将调整A列的大小为30,第1行的高度为20。没有自动调整大小,因此您必须根据任何单元格的字体6和文本长度来计算值(或者是决定宽度)。如果您使用的标题和这些永远不会改变,那么您应该能够很容易地确定这一点,但是,如果文本可能会改变,那么您可能需要计算文本长度,并根据该公式和字体大小确定公式。

对于初学者来说,在其他问题中有一些讨论和例子应该会有所帮助。Python - Automatically adjust width of an excel file's columns

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71139718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档