Skip to content

python excel自动美化

0 背景

在处理 Excel 数据时,经常会遇到列宽不一致的问题,这会影响数据的可读性和整体的美观性。手动调整每一列的宽度不仅耗时,而且在处理大量数据时效率极低。

为了解决该问题,可以利用 Python 的 xlwings 库来自动化这一过程。xlwings 是一个强大的库,它允许我们使用 Python 与 Excel 进行无缝交互,从而提高数据处理的效率和准确性。

选择使用 xlwings 的原因在于其易用性和灵活性。它不仅可以简化诸如调整列宽这样的常规任务,还可以执行更复杂的操作,如数据分析、图表创建等。此外,通过自动调整列宽,可以确保数据呈现的一致性,无论是在数据分析还是在报告展示中都至关重要。

我们通过pandas导出的excel默认是长这样的, 不够美观, 也不够直观:

因此, 本文将介绍如何使用 Python 的 xlwings 库来自动调整 Excel 列宽以及一些美化的操作。

1 使用

安装导入xlwings

pip install xlwings
import xlwings as xw

fileName = './user_info.xlsx'
app = xw.App(visible=False)
book = app.books.open(fileName)
# book = xw.Book(fileName)
sheet1 = book.sheets['Sheet1']

if sheet1.range('A1').value:

    # 首行加粗
    sheet1.range('1:1').font.bold = True
    # 自动拓展当前可见区域数据
    rng = sheet1.range('A1').expand()
    # 设置单元格的字体
    rng.font.name = '黑体'
    # 自动设置高度和列宽
    rng.autofit()
    # 设置边框
    for i in range(7, 13):
        rng.api.Borders(i).LineStyle = 1
        rng.api.Borders(i).Weight = 3

book.save()

app.quit()

调整前:

调整后:

相对调整前来讲, 就相对比较直观, 美观了.

2 关于

欢迎关注我的微信公众号