import openpyxl
def excel_2017(filename):
wb=openpyxl.workbook.Workbook() #创建文件对象
sheet=wb.active ##获取第一个sheet
sheet.title="测试2017版本" ##设定一个sheet的名字
value = [["名称", "价格", "出版社", "语言"],
["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"],
["暗时间", "32.4", "人民邮电出版社", "中文"],
["拆掉思维里的墙", "26.7", "机械工业出版社", "中文"]]
for i in range(4):#列表里有几个元素的个数,例如:value中有四个列表
for j in range(0,len(value[i])): #一个列表中有几个元素,例如:["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"]有四个元素
sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
sheet["A2"] =4 #赋值
d=sheet.cell(row=2,column=10,value=2)
wb.save(filename)
print("写入成功")
def excel_read(file_read):
wb=openpyxl.load_workbook(file_read)
sheet=wb.get_sheet_by_name("测试2017版本")
string="中文"
#循环获取每个单元格
for row in sheet.rows:
for column in row:
print(column.value,"\t",end="")
print() #换行
# if string in column.value:
# print("查询成功: ",string)
# else:
# pass
# print(column.value) #最后一个内容
# print(type(column.value))
def excel_2018(file2): #增加一个新的表“测试2018版本”
wb=openpyxl.load_workbook(file2)
sheet=wb.create_sheet() #默认插在工作簿末尾,wb.create_sheet(0),插在工作簿第一个位置
sheet.title="测试2018版本"
value = [["名称", "价格", "出版社", "语言"],
["如何高效读懂一本书", "22.3", "机械工业出版社", "中文"],
["暗时间", "32.4", "人民邮电出版社", "中文"],
["拆掉思维里的墙", "26.7", "机械工业出版社", "中文"]]
for i in range(4):
for j in range(0,len(value[i])):
sheet.cell(row=i+1, column=j+1, value=str(value[i][j]))
wb.save(file2)
print("写入成功")
def update_2018(file1): #增删改查
wb=openpyxl.load_workbook(file1)
sheet=wb.get_sheet_by_name("测试2018版本")
sheet.cell(row=10,column=10,value="康宝荣华")
value = ["python3", "22.3", "荣华", "中文"]#在第11行加入一列数据
for i in range(4):
sheet.cell(row=11,column=i+1,value=str(value[i]))
value1=[["python3", "22.3", "22222222", "中文"],["python111", "22.3", "111111", "中文"]]
for i in range(2):#在指定的行加入到数据
for j in range(0,len(value1[i])):
sheet.cell(row=12+i,column=j+1,value=str(value1[i][j]))
wb.save(file1)
print("写入成功")
def totle(file): #打印总的表
wb=openpyxl.load_workbook(file)
print(wb.get_sheet_names())
print(wb.get_named_ranges())
print(wb.active.max_row)
print(wb.active.max_column)
if __name__ == '__main__':
file_2007="测试2016.xlsx"
excel_2017(file_2007)
excel_read(file_2007)
excel_2018(file_2007)
update_2018(file_2007)
totle(file_2007)
执行的结果如下:
表"测试2017版本"
表"测试2018版本"