資源簡介
代碼用于讀Excel中的數據,然后批量寫進word,文件的讀寫有專門的類,對于批量處理excel很有幫助
代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
在python的應用過程中,有時候需要有一些記錄輸出,表格和文檔是比較實用、大眾和清晰的工具
工具:
????Python3.4
????win32com模塊
@author:?DongChuanting
“““
import?win32com.client
import?os
class?RemoteExcel():
????“““對excel表格的操作
????“““
????def?__init__(self?filename=None):
????????“““初始化函數
????????Args:
????????????filename:?要進行操作的文件名,如果存在此文件則打開,不存在則新建
????????????????????????此文件名一般包含路徑
????????“““
????????self.xlApp=win32com.client.Dispatch(‘Excel.Application‘)
????????self.xlApp.Visible=0
????????self.xlApp.DisplayAlerts=0????#后臺運行,不顯示,不警告
????????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()????#創建新的Excel文件
????????????????self.xlBook.SaveAs(self.filename)
????????else:
????????????self.xlBook=self.xlApp.Workbooks.Add()
????????????self.filename=‘‘
????def?get_cell(self?row?col?sheet=None):
????????“““讀取單元格的內容
????????Args:
????????????row:?行
????????????col:?列
????????????sheet:?表格名(不是文件名)
????????“““
????????if?sheet:
????????????sht?=?self.xlBook.Worksheets(sheet)
????????else:
????????????sht?=?self.xlApp.ActiveSheet
????????return?sht.Cells(row?col).Value
????def?set_cell(self?sheet?row?col?value):
????????“““向表格單元格寫入
????????Args:
????????????sheet:?表格名(不是文件名)
????????????row:?行
????????????col:?列
????????????value:?定入內容
????????“““
????????try:
????????????sht?=?self.xlBook.Worksheets(sheet)
????????except:
????????????self.new_sheet(sheet)
????????????sht?=?self.xlBook.Worksheets(sheet)
????????sht.Cells(row?col).Value?=?value
????def?save(self?newfilename=None):
????????“““保存表格“““
????????if?newfilename:
????????????self.filename?=?newfilename
????????????self.xlBook.SaveAs(self.filename)
????????else:
????????????self.xlBook.Save()
????def?close(self):
????????“““保存表格、關閉表格,結束操作“““
????????self.save()
????????self.xlBook.Close(SaveChanges=0)
????????del?self.xlApp
????def?new_sheet(self?newSheetName):
????????“““新建一個新表格“““
???????
評論
共有 條評論