from win32com.client import Dispatch
import os
DefaultPath = 'excel'
class ExcelComObj:
def __init__(self, filename=None, sheetnum = 1):
self.xlApp = Dispatch('Excel.Application')
if filename:
pathname = os.path.split(filename)
if pathname[0] in [None,'']: path = os.getcwd() + os.sep + DefaultPath
else: path = pathname[0]
nameext = os.path.splitext(pathname[1])
if nameext[1] in [None,'']: ext = '.xls'
else: ext = nameext[1]
name = path + os.sep + nameext[0] + ext
self.xlBook = self.xlApp.Workbooks.Open(name)
self.sht = self.xlBook.Sheets(sheetnum)
else:
self.xlBook = self.xlApp.ActiveWorkbook
self.sht = self.xlApp.ActiveWorkbook.ActiveSheet
self.filename = ''
def save(self, filename=None):
if filename:
pathname = os.path.split(filename)
if pathname[0] in [None,'']: path = os.getcwd() + os.sep + md.EXCEL_FILE_DIR
else: path = pathname[0]
nameext = os.path.splitext(pathname[1])
if nameext[1] in [None,'']: ext = '.xls'
else: ext = nameext[1]
name = path + os.sep + nameext[0] + ext
self.xlBook.SaveAs(name)
else:
self.xlBook.Save()
def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp
def getCell(self, row, col):
return self.sht.Cells(row, col).Value
def setCell(self, row, col, value):
self.sht.Cells(row, col).Value = value
def getRange(self, row1, col1, row2, col2):
return self.sht.Range(self.sht.Cells(row1, col1), self.sht.Cells(row2, col2)).Value
def setRange(self, leftCol, topRow, data):
bottomRow = topRow + len(data) - 1
rightCol = leftCol + len(data[0]) - 1
self.sht.Range(
self.sht.Cells(topRow, leftCol),
self.sht.Cells(bottomRow, rightCol)
).Value = data
import os
DefaultPath = 'excel'
class ExcelComObj:
def __init__(self, filename=None, sheetnum = 1):
self.xlApp = Dispatch('Excel.Application')
if filename:
pathname = os.path.split(filename)
if pathname[0] in [None,'']: path = os.getcwd() + os.sep + DefaultPath
else: path = pathname[0]
nameext = os.path.splitext(pathname[1])
if nameext[1] in [None,'']: ext = '.xls'
else: ext = nameext[1]
name = path + os.sep + nameext[0] + ext
self.xlBook = self.xlApp.Workbooks.Open(name)
self.sht = self.xlBook.Sheets(sheetnum)
else:
self.xlBook = self.xlApp.ActiveWorkbook
self.sht = self.xlApp.ActiveWorkbook.ActiveSheet
self.filename = ''
def save(self, filename=None):
if filename:
pathname = os.path.split(filename)
if pathname[0] in [None,'']: path = os.getcwd() + os.sep + md.EXCEL_FILE_DIR
else: path = pathname[0]
nameext = os.path.splitext(pathname[1])
if nameext[1] in [None,'']: ext = '.xls'
else: ext = nameext[1]
name = path + os.sep + nameext[0] + ext
self.xlBook.SaveAs(name)
else:
self.xlBook.Save()
def close(self):
self.xlBook.Close(SaveChanges=0)
del self.xlApp
def getCell(self, row, col):
return self.sht.Cells(row, col).Value
def setCell(self, row, col, value):
self.sht.Cells(row, col).Value = value
def getRange(self, row1, col1, row2, col2):
return self.sht.Range(self.sht.Cells(row1, col1), self.sht.Cells(row2, col2)).Value
def setRange(self, leftCol, topRow, data):
bottomRow = topRow + len(data) - 1
rightCol = leftCol + len(data[0]) - 1
self.sht.Range(
self.sht.Cells(topRow, leftCol),
self.sht.Cells(bottomRow, rightCol)
).Value = data