from openpyxl import Workbook
from openpyxl.styles import NamedStyle, Font, PatternFill, Border, Side, Alignment
from openpyxl.utils import get_column_letter

if __name__ == "__main__":
    wb = Workbook()  # 创建工作簿对象
    ws = wb.active
    ws.title = "Sheet1"
    header = ["设备ID", "VIN", "包名", "车型代码", "品牌", "事件源版本", "事件目标版本", "最后访问日期"]
    ws.append(header)
    data_list = [
        ('VIN:KMHKNXXXXXXXXXXXX_AVNT', 'KMHKNXXXXXXXXXXXX', 'XXXXX^ICHN^01', 'XXXXX', 'H', 'PXXXXPCEXXICHN10_008',
         'PXXXXPCEXXICHN10_012', '2026-04-10 05:46:15'),
        ('VIN:KMHKNXXXXXXXXXXXX_AVNT', 'KMHKNXXXXXXXXXXXX', 'XXXXX^ICHN^01', 'XXXXX', 'H', 'PXXXXPCEXXICHN10_008',
         'PXXXXPCEXXICHN10_012', '2026-04-10 05:44:03')]

    for item in data_list:
        ws.append(item)

    for col in range(1, ws.max_column + 1):  # 遍历所有列
        column_letter = get_column_letter(col)
        column_max_length = max(len(cell.value) for cell in ws[column_letter])
        ws.column_dimensions[column_letter].width = max(column_max_length, len(header[col - 1]) * 2) + 2  # 自动调整宽度以适应内容

    header_style = NamedStyle(name="HeaderStyle", font=Font(color="FFFFFF", bold=True),
                              border=Border(left=Side(style="thin", color="000000"), right=Side(style="thin", color="000000")),
                              fill=PatternFill(start_color="FF666699", end_color="FF666699", fill_type="solid"),
                              alignment=Alignment(horizontal="center", vertical="center"))
    for cell in ws["1:1"]:
        cell.style = header_style
    wb.save("C:\\Users\\Admin\\Downloads\\DownloadDir12\\deviceList2.xlsx")

更多推荐