初学对于很多格式转换不熟悉,研究了一天才搞定读取excel单元格中的日期合并到word中对应域,

date=str(datetime.datetime.fromtimestamp((table.row_values(i)[2] - 25569) * 86400.0).date()) #读取excel日期单元格,把float转成日期格式,再转换成字符格式,才能写入word文本域。如果excel值为数字也是要转换格式的,例如:str(int(table.row_values(i)[3]))取整数

import xlrd # 引入Excel读取模块

from mailmerge import MailMerge # 引用邮件处理模块

import datetime

datafile_path = 'D:/py/code/test/lz.xlsx' # 表格位置

data = xlrd.open_workbook(datafile_path) # 获取数据

table = data.sheet_by_name('Sheet') # 这里的表名要注意

nrows = table.nrows

template = 'D:/py/code/test/test.docx' # 模版位置

for i in range(nrows): # 循环逐行打印

if i > 0: # 排除0项无用数据

document = MailMerge(template)

document.merge(

GID=table.row_values(i)[0],

name=table.row_values(i)[1],

date=str(datetime.datetime.fromtimestamp((table.row_values(i)[2] - 25569) * 86400.0).date()) #读取日期转换为字符

)

wordname = table.row_values(i)[1] + '.docx'

document.write(wordname)

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐