Python win32com 操作Exce的l简单方法(必看)


Posted in Python onMay 25, 2017

实例如下:

from win32com.client import Dispatch  
import win32com.client  
class easyExcel:  
   """A utility to make it easier to get at Excel.  Remembering 
   to save the data is your problem, as is  error handling. 
   Operates on one workbook at a time."""  
   def __init__(self, filename=None): #打开文件或者新建文件(如果不存在的话) 
     self.xlApp = win32com.client.Dispatch('Excel.Application')  
     if filename:  
       self.filename = filename  
       self.xlBook = self.xlApp.Workbooks.Open(filename)  
     else:  
       self.xlBook = self.xlApp.Workbooks.Add()  
       self.filename = '' 
    
   def save(self, newfilename=None): #保存文件 
     if newfilename:  
       self.filename = newfilename  
       self.xlBook.SaveAs(newfilename)  
     else:  
       self.xlBook.Save()    
   def close(self): #关闭文件 
     self.xlBook.Close(SaveChanges=0)  
     del self.xlApp  
   def getCell(self, sheet, row, col): #获取单元格的数据 
     "Get value of one cell"  
     sht = self.xlBook.Worksheets(sheet)  
     return sht.Cells(row, col).Value  
   def setCell(self, sheet, row, col, value): #设置单元格的数据 
     "set value of one cell"  
     sht = self.xlBook.Worksheets(sheet)  
     sht.Cells(row, col).Value = value 
   def setCellformat(self, sheet, row, col): #设置单元格的数据 
     "set value of one cell"  
     sht = self.xlBook.Worksheets(sheet)  
     sht.Cells(row, col).Font.Size = 15#字体大小 
     sht.Cells(row, col).Font.Bold = True#是否黑体 
     sht.Cells(row, col).Name = "Arial"#字体类型 
     sht.Cells(row, col).Interior.ColorIndex = 3#表格背景 
     #sht.Range("A1").Borders.LineStyle = xlDouble 
     sht.Cells(row, col).BorderAround(1,4)#表格边框 
     sht.Rows(3).RowHeight = 30#行高 
     sht.Cells(row, col).HorizontalAlignment = -4131 #水平居中xlCenter 
     sht.Cells(row, col).VerticalAlignment = -4160 # 
   def deleteRow(self, sheet, row): 
     sht = self.xlBook.Worksheets(sheet) 
     sht.Rows(row).Delete()#删除行 
     sht.Columns(row).Delete()#删除列
   def getRange(self, sheet, row1, col1, row2, col2): #获得一块区域的数据,返回为一个二维元组 
     "return a 2d array (i.e. tuple of tuples)"  
     sht = self.xlBook.Worksheets(sheet) 
     return sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2)).Value  
   def addPicture(self, sheet, pictureName, Left, Top, Width, Height): #插入图片 
     "Insert a picture in sheet"  
     sht = self.xlBook.Worksheets(sheet)  
     sht.Shapes.AddPicture(pictureName, 1, 1, Left, Top, Width, Height)  
   
   def cpSheet(self, before): #复制工作表 
     "copy sheet"  
     shts = self.xlBook.Worksheets  
     shts(1).Copy(None,shts(1))

   def inserRow(self,sheet,row):
     sht = self.xlBook.Worksheets(sheet)
     sht.Rows(row).Insert(1)

   #下面是一些测试代码。
if __name__ == "__main__":  
   #PNFILE = r'c:/screenshot.bmp' 
   xls = easyExcel(r'd:\jason.li\Desktop\empty_book.xlsx')   
   #xls.addPicture('Sheet1', PNFILE, 20,20,1000,1000)  
   #xls.cpSheet('Sheet1') 
   xls.setCell('sheet1',2,'A',88) 
   row=1 
   col=1 
   print("*******beginsetCellformat********") 
   # while(row<5):
   #  while(col<5):
   #    xls.setCellformat('sheet1',row,col)
   #    col += 1
   #    print("row=%s,col=%s" %(row,col))
   #  row += 1
   #  col=1
   #  print("*******row********")
   # print("*******endsetCellformat********")
   # print("*******deleteRow********")
   # xls.deleteRow('sheet1',5)
   xls.inserRow('sheet1',7)
   xls.save()  
   xls.close()

以上这篇Python win32com 操作Exce的l简单方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python读取csv文件示例(python操作csv)
Mar 11 Python
Python下的subprocess模块的入门指引
Apr 16 Python
python if not in 多条件判断代码
Sep 21 Python
python去除文件中重复的行实例
Jun 29 Python
Pandas的read_csv函数参数分析详解
Jul 02 Python
python脚本后台执行方式
Dec 21 Python
postman和python mock测试过程图解
Feb 22 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
Python字符串hashlib加密模块使用案例
Mar 10 Python
从python读取sql的实例方法
Jul 21 Python
python 利用toapi库自动生成api
Oct 19 Python
Python实现视频自动打码的示例代码
Apr 08 Python
python win32 简单操作方法
May 25 #Python
python爬虫入门教程--利用requests构建知乎API(三)
May 25 #Python
Python正则表达式完全指南
May 25 #Python
Tensorflow简单验证码识别应用
May 25 #Python
Python 编码Basic Auth使用方法简单实例
May 25 #Python
Python 含参构造函数实例详解
May 25 #Python
Python爬虫之模拟知乎登录的方法教程
May 25 #Python
You might like
重置版宣传动画
2020/04/09 魔兽争霸
用php写的serv-u的web申请账号的程序
2006/10/09 PHP
php常用ODBC函数集(详细)
2013/06/24 PHP
PHP抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
2014/01/03 PHP
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
判断脚本加载是否完成的方法
2009/05/26 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
js控制再次点击按钮之间的间隔时间可防止重复提交
2014/08/01 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
js放大镜放大购物图片效果
2017/01/18 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[01:17:12]职来职往完美电竞专场
2014/09/18 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
详解Python的循环结构知识点
2019/05/20 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
html5小程序飞入购物车(抛物线绘制运动轨迹点)
2020/10/19 HTML / CSS
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
Hunkemöller瑞士网上商店:欧洲最大的内衣品牌之一
2018/12/03 全球购物
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
行政部总经理岗位职责
2014/01/04 职场文书
学生检讨书怎么写
2014/10/09 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
导游词之安徽醉翁亭
2020/01/10 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
python实现Thrift服务端的方法
2021/04/20 Python
给numpy.array增加维度的超简单方法
2021/06/02 Python
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL
Redis 哨兵集群的实现
2021/06/18 Redis