# 提取一个工作簿中所有工作表的名称(方法一)
import time
import datetime
import xlwings as xw

app = xw.App(visible=False, add_book=False)
filepath = 'C:\\Users\\Administrator\\Documents\\WPS Cloud Files\\5509416\\工作\\人员CA锁日期\\公司所有ca人员锁日期.xls'
workbook = app.books.open(filepath)
worksheet = workbook.sheets # 获取工作簿中的所有工作表
print(workbook)
print(worksheet[0])
print(worksheet[0].name)
lists = []
nowtime=datetime.datetime.now()
now = datetime.datetime.now().strftime('%Y-%m-%d')
print(type(now),now)

print(nowtime)
# 把每个工作表名称赋值给lists
for i in worksheet:
sheet_name = i.name
lists.append(sheet_name)

for i in lists:
sht = worksheet[i] #获取所有sheet工作表
info = sht.used_range #UsedRange属性应用于Worksheet对象,返回指定工作表中已使用区域的Range对象,即返回工作表中已使用的单元格区域
nrows = info.last_cell.row #获取有几行返回int
print(nrows)
print('A1:A' + str(nrows))
if sht.range('A1').value is not None: #判断A1格子的值不是空的
name = sht.range('A1:A' + str(nrows)).value
CAyxtime = sht.range('D1:D' + str(nrows)).value
"""
print(sht['A1:A' + str(nrows)].value)

print(sht['D1:D' + str(nrows)].value)
print(CAyxtime)
"""
print(name)
print(sht.name)
namesum = 0 # 姓名编号 跟日期一起循环
for j in CAyxtime:
#print(type(j)) #表格上的日期
#print('当前时间',type(nowtime)) #当前时间类型
if type(j) != str: #判断是日期 不是日期跳过
daoqi=j - nowtime
#print(j)
#print("这个人员CA锁还有",daoqi.days,"天到期")
#print(name[namesum])
if daoqi.days < 0:
print("这个人员CA锁还有", daoqi.days, "天到期")
print(name[namesum])
namesum = namesum + 1

print(lists)
print(time.time())


"""
for i in lists:
shtaq = workbook.sheetsp[i]
j = 1
while shtaq.cells(j, 1).value != None:
print(shtaq.cells(j, 4).value)
j = j + 1
"""

workbook.close()
app.quit()

原文地址:http://www.cnblogs.com/xiaozememe/p/16827446.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性