import xlwings as xw
# 指定不显示地打开Excel,读取Excel文件
app = xw.App(visible=False, add_book=False)
wb = app.books.open('titless.xlsx') # 打开Excel文件
sheet = wb.sheets[0] # 选择第1个表单
# 获取表行数
sheetInfo = sheet.used_range
maxRow = sheetInfo.last_cell.row
# maxColumn = sheetInfo.last_cell.column
# print('表行数:', maxRow)
# 单据编号
num = []
# 题目
timu = []
# 将需要的数据读取保存
for row in range(1, maxRow):
value = sheet.range("A" + str(row)).value
num.append(value)
value = sheet.range("B" + str(row)).value
timu.append(value)
# print(num)
# print(timu)
# 保存标记为重复的行号
flag = []
# 判断是否已经标记为重复
# 重复返回Ture, 否则返回False
def isRepeat(index):
for num in flag:
if num == index:
return True
else:
continue
return False
for row in range(1, len(num)):
current = timu[row]
for subRow in range(1, len(num)):
subCur = timu[subRow]
if current == subCur:
# 再判断编号行内容是否相等
if num[row] == num[subRow]:
continue
else:
flag.append(subRow + 1)
# 设置两个重复行的首列单元格颜色
cell = sheet.range("B" + str(row + 1))
cell.api.Font.Color = 0x0000ff
subcell = sheet.range("B" + str(subRow + 1))
subcell.api.Font.Color = 0x0000ff
# 打印提示
# print("重复起始行:", row + 1, "重复行", subRow + 1)
# 保存当前工作簿
wb.save()
# 关闭当前工作簿
wb.close()
# 退出excel程序
app.quit()
# 阻塞不退出
input("Press Any Key")
exit