excel应用
import xlrd
from xlutils.copy import copy
class ExcelTools():
def __init__(self,data_file='../datas/datas.xlsx'):
self.workbook=xlrd.open_workbook(data_file)
self.copy_workbook=copy(self.workbook)
def get_all_sheet_data(self,sheet_name): #单表的所有数据
data_list=[]
sheet=self.workbook.sheet_by_name(sheet_name) #根据表名读取
for rowes in range(sheet.nrows):
#取出每行数据加入列表
row=sheet.row_values(rowes)
data_list.append(row)
return data_list
def get_all_sheet_names(self,name=None): #所有表名
names=self.workbook.sheet_names()
if name!=None:
indexed=names.index(name)
print(indexed)
return indexed
return names
def get_print_data(self,data): #打印所有数据
rows=len(data)
for i in range(rows):
if i!=0:
rowed=data[i]
print(rowed)
def get_nrows(self,sheet_name): #行数
sheet=self.workbook.sheet_by_name(sheet_name)
nrows=sheet.nrows
return nrows
def write_data_to_sheet(self,sheet_index,row,col,value): #写入表
sheet = self.copy_workbook.get_sheet(sheet_index)
sheet.write(row,col,value)
def save_workbook(self,report_name="../report/report.xlsx"): #保存表
self.copy_workbook.save(report_name)
if __name__ == '__main__':
util=ExcelTools('../datas/datas.xlsx')
names=util.get_all_sheet_names()
data=util.get_all_sheet_data(names[0])
util.get_print_data(data)
util.get_nrows(names[0])