前面有写一篇是用xlrd操作excel的,这一篇是使用win32com来进行操作excel,个人推荐使用win32com。

要使用win32com组件,也需要先导入win32com包。

# -*- coding:utf-8 -*-
__author__ = u'harry' import win32com
from win32com.client import Dispatch,constants
import sys
import os
sys.path.append(os.path.dirname(os.path.dirname(__file__)))# Excel表格中测试结果底色
OK_COLOR = 0xffffff
False_COLOR = 0xff
# NT_COLOR=0xffff
NT_COLOR = 0xC0C0C0 # Excel表格中测试结果汇总显示位置
TESTTIME = [1, 14]
TESTRESULT = [2, 14] # Excel模版设置
# self.titleindex=3 #Excel中测试用例标题行索引
# self.casebegin =4 #Excel中测试用例开始行索引
# self.argbegin =3 #Excel中参数开始列索引
# self.argcount =8 #Excel中支持的参数个数
class excel():
# def __init__(self, sFile, dtitleindex=3, dcasebegin=4, dargbegin=3, dargcount=8):
def __init__(self, sFile):
self.xlApp = win32com.client.Dispatch('Excel.Application') # MS:Excel WPS:et
try:
self.book = self.xlApp.Workbooks.Open(sFile)
except:
print(u"打开文件失败")
exit() def close(self):
# self.book.Close(SaveChanges=0)
#self.book.Save()
self.book.Close(SaveChanges=0)
# self.xlApp.Quit()
del self.xlApp def read(self, iSheet, iRow, iCol):
try:
sht = self.book.Worksheets(iSheet)
sValue = str(sht.Cells(iRow, iCol).Value)
except:
self.close()
print(u'读取数据失败')
exit()
# 去除'.0'
if sValue[-2:] == '.0':
sValue = sValue[0:-2]
return sValue def write(self, iSheet, iRow, iCol, sData):
try:
sht = self.book.Worksheets(iSheet)
sht.Cells(iRow, iCol).Value = sData # .decode("utf-8")
if sData == "Failed":
sht.Cells(iRow, iCol).Interior.Color = False_COLOR
self.book.Save()
else:
sht.Cells(iRow, iCol).Interior.Color = OK_COLOR
self.book.Save()
except Exception:
self.close(SaveChanges=0)
print(u'写入数据失败:'+Exception)
exit() '''
excelpath = 'D:\\python\\DATA\\TestCase1.xls'
test = excel(excelpath)
test.write(2, 11, 7,"aaa")
test.close()
'''

最新文章

  1. ABP源码分析四十一:ZERO的Audit,Setting,Background Job
  2. C# uploadify 上传 -220 IO Error 问题
  3. Kafka设计解析(三)- Kafka High Availability (下)
  4. linux 关机要点
  5. CentOS7 连网 拨号上网 PPoe网
  6. SDE用户密码到期
  7. 三道关于Taylor级数的题目,证明你爹是你爹
  8. Unity3d 在不同设备中的文件读写 的路径
  9. Android 学习笔记之如何使用SQLite数据库来保存数据...
  10. <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_acce
  11. uniq详解
  12. Oracle数据库运维优化六脉神剑口诀
  13. 轻松学习之Linux教程一 ubuntu14.04+windows双系统安装
  14. (cljs/run-at (JSVM. :browser) "命名空间就这么简单")
  15. EF core的模型映射
  16. Win10 教育版
  17. Django中的信号
  18. [Spark][Python][Application]非交互式运行Spark Application 的例子
  19. Elasticsearch 5.0Head插件
  20. Django-website 程序案例系列-12 CSRF

热门文章

  1. 力扣Leetcode 面试题56 - I. 数组中数字出现的次数
  2. 免费领CRMEB移动社交电商系统源码与授权
  3. 【python开发】迈出第一步,这可能是我唯一一次的Python开发了
  4. SpringCloud 服务负载均衡和调用 Ribbon、OpenFeign
  5. Google Kick Start 2020 Round B T4 Wandering Robot
  6. Linux centos6.5 安装
  7. 再试Count(*) 与Count(*) 列
  8. Win10 在VM里面装Centos7.4后使用桥接模式连接外网,并用MobaXterm远程虚拟机详细教程
  9. python中函数的参数:必传参数(位置参数)、默认值参数、参数组传参、关键字传参
  10. 《Java从入门到失业》第四章:类和对象(4.2):String类