python3 读取写入excel操作-win32com
2024-10-09 16:00:06
前面有写一篇是用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()
'''
最新文章
- ABP源码分析四十一:ZERO的Audit,Setting,Background Job
- C# uploadify 上传 -220 IO Error 问题
- Kafka设计解析(三)- Kafka High Availability (下)
- linux 关机要点
- CentOS7 连网 拨号上网 PPoe网
- SDE用户密码到期
- 三道关于Taylor级数的题目,证明你爹是你爹
- Unity3d 在不同设备中的文件读写 的路径
- Android 学习笔记之如何使用SQLite数据库来保存数据...
- <;Valve className=";org.apache.catalina.valves.AccessLogValve"; directory=";logs"; prefix=";localhost_acce
- uniq详解
- Oracle数据库运维优化六脉神剑口诀
- 轻松学习之Linux教程一 ubuntu14.04+windows双系统安装
- (cljs/run-at (JSVM. :browser) ";命名空间就这么简单";)
- EF core的模型映射
- Win10 教育版
- Django中的信号
- [Spark][Python][Application]非交互式运行Spark Application 的例子
- Elasticsearch 5.0Head插件
- Django-website 程序案例系列-12 CSRF
热门文章
- 力扣Leetcode 面试题56 - I. 数组中数字出现的次数
- 免费领CRMEB移动社交电商系统源码与授权
- 【python开发】迈出第一步,这可能是我唯一一次的Python开发了
- SpringCloud 服务负载均衡和调用 Ribbon、OpenFeign
- Google Kick Start 2020 Round B T4 Wandering Robot
- Linux centos6.5 安装
- 再试Count(*) 与Count(*) 列
- Win10 在VM里面装Centos7.4后使用桥接模式连接外网,并用MobaXterm远程虚拟机详细教程
- python中函数的参数:必传参数(位置参数)、默认值参数、参数组传参、关键字传参
- 《Java从入门到失业》第四章:类和对象(4.2):String类