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中的异常处理学习笔记
Jan 28 Python
python操作ie登陆土豆网的方法
May 09 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
Python中修改字符串的四种方法
Nov 02 Python
python使用knn实现特征向量分类
Dec 26 Python
Python3.5迭代器与生成器用法实例分析
Apr 30 Python
python画图常规设置方式
Mar 05 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
详解python模块pychartdir安装及导入问题
Oct 22 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
python 装饰器重要在哪
Feb 14 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
PHP四大安全策略
2014/03/12 PHP
PHP实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
php图片上传类 附调用方法
2016/05/15 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
jQuery中实现动画效果的基本操作介绍
2013/04/16 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
举例简介AngularJS的内部语言环境
2015/06/17 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
简单实现bootstrap导航效果
2017/02/07 Javascript
vue-cli+webpack记事本项目创建
2017/04/01 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
python 扩展print打印文件路径和当前时间信息的实例代码
2019/10/11 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
2019/10/24 Python
python中yield的用法详解
2021/01/13 Python
如何让Java程序执行效率更高
2014/06/25 面试题
财务会计毕业生自荐信
2013/11/02 职场文书
毕业生优秀推荐信
2013/11/26 职场文书
教师教学评估方案
2014/05/09 职场文书
个性婚礼策划方案
2014/05/17 职场文书
个人查摆问题自查报告
2014/10/16 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
廉洁自律承诺书2015
2015/01/22 职场文书
2015年妇产科工作总结
2015/05/18 职场文书
高中生军训感言
2015/08/01 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript