python使用xlwings写入excel

接着上篇,将去重后的身份证号码写入一个excel中。

去重后,得到列表['350821199408302999', '350821199408302712', '350821199408302219', '350821199408302723']

import xlwings as xw
app=xw.App(visible=True,add_book=False)
wb=app.books.add()
sht = wb.sheets['sheet1']
try:
    sht.range('A:A').api.Font.Size = 15  # 设置单元格字体大小
    sht.range("A:A").api.Font.Name = "微软雅黑"  # 设置字体
    sht.range("A:A").api.Font.ColorIndex = 3#字体颜色,3是红色
    sht.range("A:A").api.NumberFormat = "@"#设置为文本格式
    sht.range('A1').value = '身份证号'
    # sht.range('A2').value = '350821199408302712'
    # sht.range('A3').value = '350821199408302999'
    sht.range('A2').options(transpose=True).value =['350821199408302999', '350821199408302712', '350821199408302219', '350821199408302723']
    #sht.range('B1').value = '350821199408302888'
    sht.autofit()#单元格宽度自适应内容

    # sht.range('D2').options(transpose=False).value = [5,6,7,8]#插入到了D2,E2,F2,G2
    # sht.range('D2').options(transpose=True).value = [5,6,7,8]#插入到了D2,D3,D4,D5
    wb.save('./身份证不重复.xlsx')
    wb.close()
    app.quit()
except Exception:
    wb.close()
    app.quit()

结果如图:

python使用xlwings写入excel_第1张图片

说明几点:

1、sht.range("A:A").api.NumberFormat = "@"#设置为文本格式,已测试,没问题。

下面设置格式情况未测试

range('B:B').api.NumberFormat = "0.0"  #设置B列为小数格式,这里是保留1位小数

range('A3').api.NumberFormat = "yyyy-mm-dd"  #设置A3单元格为"-"连接的日期格式

range('A4').api.NumberFormat = "0%"  #设置A4单元格为百分比

2、sht.range('A2').options(transpose=True).value =列表

当transpose=True,即会从A2单元格开始,一列写入内容,即A2,A3,A4,A5...中会被写入内容。

当transpose=False,即会从A2单元格开始,一行写入内容,即A2,B2,C2,D2...中会被写入内容。

3、sht.autofit()#单元格宽度自适应内容

你可能感兴趣的:(excel,python)