Python Win32

  from  win32com.client  import  Dispatch  
import  win32com.client  
import  win32api
import  os
class  ExcelHelper:
    
def   __init__ (self, filename = None):
        self.xlApp 
=  win32com.client.Dispatch( ' Excel.Application ' )  
        
if  filename:
            self.filename
= filename
            
if  os.path.exists(self.filename):
                self.xlBook
= self.xlApp.Workbooks.Open(filename)
            
else :
                self.xlBook
=  self.xlApp.Workbooks.Add()
        
else :
            self.xlBook
=  self.xlApp.Workbooks.Add()
            self.filename
= ' Untitle '
    
    
def  save(self, newfilename = None):  
        
if  newfilename:     
            self.filename 
=  newfilename  
        self.xlBook.SaveAs(self.filename)    
        
    
def  close(self):  
        self.xlBook.Close(SaveChanges
= 0)  
        
del  self.xlApp  
    
    
def  copySheet(self, before):  
        
" copy sheet "   
        shts 
=  self.xlBook.Worksheets  
        shts(
1 ).Copy(None,shts( 1 ))
    
    
def  newSheet(self,newSheetName):
        sheet
= self.xlBook.Worksheets.Add()
        sheet.Name
= newSheetName
        sheet.Activate()
    
    
def  activateSheet(self,sheetName):
        self.xlBook.Worksheets(sheetName).Activate()
        
    
def  activeSheet(self):
        
return  self.xlApp.ActiveSheet;    
    
    
def  getCell(self, row, col,sheet = None):  
        
" Get value of one cell "   
        
if  sheet:
            sht 
=  self.xlBook.Worksheets(sheet)  
        
else :
            sht
= self.xlApp.ActiveSheet    
        
return  sht.Cells(row, col).Value  
    
    
def  setCell(self, row, col, value,sheet = None):  
        
" set value of one cell "   
        
if  sheet:
             sht 
=  self.xlBook.Worksheets(sheet)  
        
else :
             sht
= self.xlApp.ActiveSheet    
         
        sht.Cells(row, col).Value 
=  value  
        
    
def  getRange(self, row1, col1, row2, col2,sheet = None):  
        
" return a 2d array (i.e. tuple of tuples) "   
        
if  sheet:
           sht 
=  self.xlBook.Worksheets(sheet)  
        
else :
           sht
= self.xlApp.ActiveSheet    
        
return  sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2)).Value 
     
    
def  mergeCell(self, row1, col1, row2, col2,sheet = None): 
        
if  sheet:
            sht 
=  self.xlBook.Worksheets(sheet)  
        
else :
            sht
= self.xlApp.ActiveSheet   
        
return  sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2)).Merge() 
    
def  rowsCount(self):
        
" return used rows count "
        sht
= self.activeSheet()
        
return   sht.UsedRange.Rows.Count
        
if   __name__   ==   " __main__ " :  
    
pass
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值