前面有写一篇是用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的更多相关文章

  1. 使用C#实现读取/写入Excel表

    C#实现写入Excel表 using System; using System.Reflection; using System.IO; using Microsoft.Office.Interop. ...

  2. JXL读取写入excel表格数据

    问题描述: 使用java的jxl包创建.写入excel表格数据 问题解决: (1)说明 (2)写入execel数据 注: 以上是写入数据需要调用的函数接口 注: 具体接口调用过程,如上所示 (3)读取 ...

  3. JXL读取,写入Excel

    JXL读取,写入Excel2003 相关阅读:poi 读写excel2003:http://www.cnblogs.com/gavinYang/p/3576739.htmlpoi 读写excel200 ...

  4. python(写入excel操作-xlwt模块)

    一.安装xlwt模块 pip install xlwt 二.excel写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook = ...

  5. python(写入 excel 操作 xlwt 模块)

    一.安装 xlwt 模块 pip install xlwt 二.excel 写入操作 这种方式只能新增或者覆盖文件写入 import xlwt # 创建一个workbook 设置编码 workbook ...

  6. POI读取/写入Excel文件

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  7. python xlwt写入excel操作

    引用https://www.cnblogs.com/python-robot/p/9958352.html 安装 $ pip install xlwt 例子: import xlwt # 创建一个wo ...

  8. Python xlrd xlwt 读取写入Excel.

    import xlrd import xlwt #读取 xlrd.Book.encoding = "gbk" wb = xlrd.open_workbook(filename='s ...

  9. sql sever读取写入Excel总结

    主要用到openrowset,opendatasource系统函数,这两个函数任意一个都能完成任务 用这种方法可以实现Excel和sqlserver表之间的相互导入导出. 如果使用openrowset ...

随机推荐

  1. make编译出错 usr/bin/ld: /data/app/openssl/lib/libcrypto.a(ecs_asn1.o): relocation R_X86_64_PC32 against symbol `ECDSA_SIG_it' can not be used when making a shared object; recompile with -fPIC

    当make编译出现错误 usr/bin/ld: /data/app/openssl/lib/libcrypto.a(ecs_asn1.o): relocation R_X86_64_PC32 agai ...

  2. tensorflow1.x及tensorflow2.x不同版本实现验证码识别

    近一个假期,入坑深度学习,先从能看得着的验证码识别入门.从B站看了几天的黑马程序员的“3天带你玩转python深度学习后“,一是将教程中提到的代码一一码出来:二是针对不同的tensorflow版本,结 ...

  3. 借助FRP反向代理实现内网穿透

    一.frp 是什么? frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便捷的方式通过具有公网 IP 节点的中转暴露到公 ...

  4. vue项目配置vuex

    在vue项目中各组件之间传值非常的好用,但是当组件数量多的时候,就会感觉到多个组件之间传值就会变的非常痛苦.因此就需要使用vuex来管理数据值,这样在任何页面不需要传值过来的情况下就可以拿到我们想要的 ...

  5. hadoop平台环境搭建

    centos01 配置静态ip vim /etc/sysconfig/network-scripts/ifcfg-eth0 见图1 修改主机名 vim /etc/sysconfig/network 见 ...

  6. 使用OpenCV和Python构建自己的车辆检测模型

    概述 你对智慧城市的想法感到兴奋吗?如果是的话,你会喜欢这个关于建立你自己的车辆检测系统的教程的 在深入实现部分之前,我们将首先了解如何检测视频中的移动目标 我们将使用OpenCV和Python构建自 ...

  7. Linux 基础指令2

    管道符| 先执行第一个命令后执行第二个 eg:查看文件中间几行: head -n1 文件名| tail -n2 :先查看文件前n1行,然后在n1行中的后n2行 tail -n1 文件名| head - ...

  8. oracle 11G R2卸载说明

    oracle 11G R2数据库卸载

  9. SQL连接(内连接、外连接、交叉连接)

    SQL连接(内连接.外连接.交叉连接) 假设现在有两个表:table1 , table2 table1:                                table2 :  id     ...

  10. Oracle数据库时提示“ORA-28000

    当使用SQL*Plus登录时,Oracle数据库时提示“ORA-28000:帐号被锁定”. 导致出现改错误的原因是:在oracle database 11g中,默认在default概要文件中设置了“F ...