python3 读取写入excel操作-win32com
前面有写一篇是用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()
'''
python3 读取写入excel操作-win32com的更多相关文章
- 使用C#实现读取/写入Excel表
C#实现写入Excel表 using System; using System.Reflection; using System.IO; using Microsoft.Office.Interop. ...
- JXL读取写入excel表格数据
问题描述: 使用java的jxl包创建.写入excel表格数据 问题解决: (1)说明 (2)写入execel数据 注: 以上是写入数据需要调用的函数接口 注: 具体接口调用过程,如上所示 (3)读取 ...
- JXL读取,写入Excel
JXL读取,写入Excel2003 相关阅读:poi 读写excel2003:http://www.cnblogs.com/gavinYang/p/3576739.htmlpoi 读写excel200 ...
- python(写入excel操作-xlwt模块)
一.安装xlwt模块 pip install xlwt 二.excel写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook = ...
- python(写入 excel 操作 xlwt 模块)
一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...
- POI读取/写入Excel文件
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- python xlwt写入excel操作
引用https://www.cnblogs.com/python-robot/p/9958352.html 安装 $ pip install xlwt 例子: import xlwt # 创建一个wo ...
- Python xlrd xlwt 读取写入Excel.
import xlrd import xlwt #读取 xlrd.Book.encoding = "gbk" wb = xlrd.open_workbook(filename='s ...
- sql sever读取写入Excel总结
主要用到openrowset,opendatasource系统函数,这两个函数任意一个都能完成任务 用这种方法可以实现Excel和sqlserver表之间的相互导入导出. 如果使用openrowset ...
随机推荐
- Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能。
作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985 Android开发之清除缓存功能实现方法,可以集成在自己的app中,增加一个新功能. 下面是一个效果图 ...
- gcd(a,b) 复杂度证明
(b,a%b) a%b<=min(b,a%b)/2 a>=b时每次至少缩减一半 a<b时下次a>b 所以复杂度最多2log(max(a,b)) 证明:a%b<=min(a ...
- Spine学习三 - 同时播放两个动画
这个效果和 Unity的动画分层有点儿像,比如 一个人有一个跑的动画,还有一个站在原地挥手的动画,Unity可以通过动画分层,让人物只需要使用这两个动画实现边跑边挥手的动画效果. 首先介绍一下Spin ...
- HDU-4417-Super Mario(主席树解法)
Mario is world-famous plumber. His “burly” figure and amazing jumping ability reminded in our memory ...
- 深入了解Redis【一】源码下载与参考资料准备
引言 一直在使用redis,但是却没有系统的了解过它的底层实现,准备边学习边记录,深入了解redis. 打算分析以下几个方面: redis的基本类型及底层原理与java对比,每种数据类型的使用场景 r ...
- java初探(1)之秒杀的业务简单实现
前言 秒杀的业务场景广泛存在于电商当中,即有一个倒计时的时间限制,当倒计时为0时,秒杀开始,秒杀之后持续很小的一段时间,而且秒杀的商品很少,因此会有大量的顾客进行购买,会产生很大的并发量,从而创造技术 ...
- servlet web项目连接数据库报错
报错信息类似这样: Wed May 27 14:15:54 CST 2020 WARN: Establishing SSL connection without server's identity v ...
- Count(*) 与 count(field) 一样吗?
有这么个表: 执行 select count(*) from hy_test select count(deptno) from hy_test 都得到 5 但执行 select count(name ...
- JavaScript五中迭代方法小解
ECMAScript 为数组定义了五个迭代方法.每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响this的值.传入这些方法中的函数会接收三个参数:数组项的值.该 ...
- Cloudera Manager和CDH安装部署
本次安装采用离线安装的方式,需要提前下载好需要的包. 1. 准备工作 1.1 环境说明 操作系统:RedHat企业级Linux6.5 64-bit Cloudera Manager:5.8.4 CDH ...