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

实例如下:

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简单方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python使用win32com在百度空间插入html元素示例

    复制代码 代码如下: from win32com.client import DispatchEximport timeie=DispatchEx("InternetExplorer.Application") ie.Navigate("http://hi.baidu.com/mirguest/creat/blog/")ie.Visible=1while ie.Busy:    time.sleep(1) body=ie.Document.body# headerf

  • 使用python调用浏览器并打开一个网址的例子

    python 打开浏览器,可以做简单的刷网页的小程序.仅供学习,别用非法用途. python的webbrowser模块支持对浏览器进行一些操作,主要有以下三个方法: 复制代码 代码如下: webbrowser.open(url, new=0, autoraise=True)webbrowser.open_new(url)webbrowser.open_new_tab(url) 我们需要了解webbrowser.open()方法: 复制代码 代码如下: webbrowser.open(url, n

  • Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法

    本文实例讲述了Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法.分享给大家供大家参考,具体如下: 每天打开电脑第一件事应该就是打开人人刷一下,然后登上QQ.每次都这样很麻烦,于是写了一个脚本,每次双击即可自动完成这两个工作. 注意:需要在人人登录时选择"下次自动登录",QQ也要选择自动登录.其实感觉这些设置都是没必要的,都可以用脚本完成,但是本人比较水,就偷了懒,没有去查资料. 代码如下: todo.pyw: import webbrowser import os web

  • Windows 配置Apache以便在浏览器中运行Python script的CGI模式

    现在因为已经安装了2.6的Python,以及支持2.6的Eric4,就不想再重新安装2.5来继续配置Apache下mod_python了. 后来发现了一篇文章Running Python as CGI in Apache in Windows ,讲述以CGI模式代替mod_python来运行python script.还有这篇Python for Windows . 做法是: 打开httpd.conf,找到"#ScriptInterpreterSource Registry ",移除前

  • Python使用win32com实现的模拟浏览器功能示例

    本文实例讲述了Python使用win32com实现的模拟浏览器功能.分享给大家供大家参考,具体如下: # -*- coding:UTF-8 -*- #!/user/bin/env python ''' Created on 2010-9-1 @author: chenzehe ''' import win32com.client from time import sleep loginurl='http://passport.cnblogs.com/login.aspx' loginouturl

  • 使用wxpython实现的一个简单图片浏览器实例

    上次我爬了n多图片,但是浏览的时候有一个问题. 图片浏览器的浏览一般都是按名称排的,而我对图片的命名是按照数字递增的.比如3总是会排在10后面,也就无法快速地浏览图片了. 所以,出于方便自己查阅图片,也出于学习,决定做一个自己的图片浏览器. 目标:浏览目录,通过滚轮不断显示同一个文件夹下的图片,并自定义排序. 步骤0:要实现图形界面,我使用wxPython. 至于如何安装和简单地使用wxpython,可以到网上检索,一大堆资料. 以下步骤默认你已经知道如何生成一个自己的frame. 步骤1:浏览

  • 用Python中的wxPython实现最基本的浏览器功能

    通常,大多数应用程序通过保持 HTML 简单来解决大多数浏览器问题 ― 或者说,根据最低共同特性来编写.然而,即便如此,也仍然存在字体和布局的问题,发行新浏览器和升级现有浏览器时,也免不了测试应用程序的痛苦.替代方案 ― 只支持一种浏览器 ― 通常不是一种用户友好的解决方案. 明显的解决方案是在应用程序中嵌入自己的表现 HTML 的窗口构件.当然,从头开始编写这样的窗口构件工作量很大,因此,求助于预先封装的解决方案好象是合理的. 商界有许多选择及几个开放源码软件包.本文将向您显示如何以 Pyth

  • 在Python中使用mechanize模块模拟浏览器功能

    知道如何快速在命令行或者python脚本中实例化一个浏览器通常是非常有用的. 每次我需要做任何关于web的自动任务时,我都使用这段python代码去模拟一个浏览器. import mechanize import cookielib # Browser br = mechanize.Browser() # Cookie Jar cj = cookielib.LWPCookieJar() br.set_cookiejar(cj) # Browser options br.set_handle_eq

  • python字符串加密解密的三种方法分享(base64 win32com)

    1. 最简单的方法是用base64: 复制代码 代码如下: import base64 s1 = base64.encodestring('hello world')s2 = base64.decodestring(s1)print s1,s2 # aGVsbG8gd29ybGQ=\n# hello world Note: 这是最简单的方法了,但是不够保险,因为如果别人拿到你的密文,也可以自己解密来得到明文 2. 第二种方法是使用win32com.client 复制代码 代码如下: import

  • python使用win32com库播放mp3文件的方法

    本文实例讲述了python使用win32com库播放mp3文件的方法.分享给大家供大家参考.具体实现方法如下: # Python supports COM, if you have the Win32 extensions # check your Python folder eg. D:\Python23\Lib\site-packages\win32com # also http://starship.python.net/crew/mhammond/win32/Downloads.html

  • python3实现读取chrome浏览器cookie

    好几年前我在做一些自动化的脚本时,脑子里也闪过这样的想法:能不能直接把浏览器的cookies取出来用呢? 直到昨天看到代码<python模拟发送动弹>,想起来当年我也曾经有类似的想法没能完成,那就优先拿这个练手,之后的代码也会用这个功能. 直接从浏览器中取出cookies,有以下好处和用途: 1.不需要配置用户密码,直接读出浏览器中cookies就得到一样的身份,用来完成各种自动化操作. 2.部分网站登录会更新Session,会导致之前成功登录的Session失效,与浏览器使用相同的Sessi

随机推荐