【Python】Excel操作-1

#练习:创建Excel 如果要创建的Excel已经存在并打开,会报错
from openpyxl import Workbook
wb=Workbook()    #创建文件对象

ws=wb.active    #获取第一个sheet
ws["A1"]=22     #写入数字

ws["B1"]="王某某"+"automation test"  #写入中文
ws.append([1,2,3])    #写入多个单元格,一行

import datetime
import time
ws["A2"]=datetime.datetime.now()    #写入一个当前时间
ws["A3"]=time.strftime("%Y%m%d %H%M%S",time.localtime()) #写入一个自定义的时间格式

#在Excel中写入100个数字
#方法一:
for i in range(100):
    ws.append(i)

#方法二:
x=1
data=map(lambda x:"A"+str(x),range(1,101))
for i in data:
    ws[i]=x
    x+=1

wb.save("e:\test4\sample.xlsx") #保存Excel




#练习:
from openpyxl import Workbook
wb = Workbook()

ws1 = wb.create_sheet("Mysheet",0)           #创建一个sheet
ws1.title = "New Title"                    #设定一个sheet的名字
ws2 = wb.create_sheet("Mysheet", 1)        #设定sheet的插入位置
ws2.title = u"王某某"    #设定一个sheet的名字

ws1.sheet_properties.tabColor = "1072BA"   #设定sheet的标签的背景颜色

#获取某个sheet对象
print wb["New Title" ]

#获取全部sheet 的名字,遍历sheet名字
print wb.sheetnames
for sheet_name in wb.sheetnames:
    print sheet_name

print "*"*50

for sheet in wb:
    print sheet.title

#复制一个sheet
wb["New Title" ]["A1"]=u"哈哈哈哈"
source = wb["New Title" ]
target = wb.copy_worksheet(source)

#target=wb.copy_worksheet(wb["new title"])

# Save the file
wb.save("e:\sample.xlsx")


#练习:#生成一个excel文件,生成3个sheet,名称包含中文,每个sheet的a1写一下sheet的名称。每个sheet有个底色
from openpyxl import Workbook
wb=Workbook()

ws1 = wb.create_sheet("Mysheet1",0)        
ws1.title = u"王Wangjing1"                  
ws1["A1"]=ws1.title
ws1.sheet_properties.tabColor = "1072BA"  

ws2 = wb.create_sheet("Mysheet2",1)        
ws2.title = u"王Wangjing2"    
ws2["A1"]=ws1.title
ws2.sheet_properties.tabColor = "1072BA" 

ws3 = wb.create_sheet("Mysheet3",2)         
ws3.title = u"王Wangjing3"
ws3["A1"]=ws1.title    
ws3.sheet_properties.tabColor = "1072BA" 

wb.copy_worksheet(wb["wangjing3"])

wb.save("e:\sample.xlsx")


#练习:给固定单元格赋值
from openpyxl import Workbook
wb = Workbook()

ws1 = wb.create_sheet("Mysheet")           #创建一个sheet

ws1["A1"]=3.1415
ws1["B2"]="王某某"
d = ws1.cell(row=4, column=2, value=10)

print ws1["A1"].value
print ws1["B2"].value
print d.value
print ws1.cell(row=4, column=2, value=10).value


# Save the file
wb.save("e:\sample.xlsx")



#练习:获取遍历某一列的值
from openpyxl import Workbook
wb = Workbook()

ws1 = wb.create_sheet("wangjing")           #创建一个sheet

ws1["A1"]=1
ws1["A2"]=2
ws1["A3"]=3

ws1["B1"]=4
ws1["B2"]=5
ws1["B3"]=6

ws1["C1"]=7
ws1["C2"]=8
ws1["C3"]=9

#操作单列
print ws1["A"]
for cell in ws1["A"]:
    print cell.value


#遍历A到C列,然后打印每一个单元格的值
print ws1["A:C"]
for column in ws1["A:C"]:
    for cell in column:
        print cell.value


#操作多行,然后打印每个单元格的值
row_range = ws1[1:3]
print row_range
for row in row_range:
    for cell in row:
        print cell.value


#操作某一行
for row in ws1.iter_rows(min_row=1, min_col=1, max_col=3, max_row=3):
    for cell in row:
        print cell.value


#获取所有行
print ws1.rows
for row in ws1.rows:
    print row


print "*"*50
#获取所有列
print ws1.columns
for col in ws1.columns:
    print col

# Save the file
wb.save("e:\sample.xlsx")
import xlrd

#打开Excel文件
data=xlrd.open_workbook("e:\test4\s.xlsx")
print type(data)

#通过索引获取sheet
tableList=data.sheets()[0]
print type(tableList)
print tableList

#通过名字获取指定sheet
table=data.sheet_by_name("wangjing")
print type(table)
print table

#通过索引号获取
table=data.sheet_by_index(0)
print type(table)
print table
print u"索引号为0的工作表为:",table.name


#获取整行,索引从0开始,返回的是一个存有该行所有内容的list
rowList=table.row_values(2)
print type(rowList)
print rowList


#获取整列,索引从0开始,返回一个存有该列所有内容的list
columnList=table.col_values(0)
print type(columnList)
print columnList


#获取行数
rowNum=table.nrows
print u"行数:",rowNum


#获取列数
colNum=table.ncols
print u"列数:",colNum


#获取某个单元格的值
cell=table.cell(2,1).value
print u"单元格的值为:",cell


#创建Excel对象
import xlrd,xlwt

workbook=xlwt.Workbook(encoding="utf-8")
print type(workbook)

#创建excel表
worksheet=workbook.add_sheet("s2.xlsx")
print u"创建的Excel表的表名为:",worksheet.name


#写单元格和保存
import xlrd,xlwt
style=xlwt.easyxf("pattern: pattern solid, fore_color green")
#创建workbook对象
workbook=xlwt.Workbook(encoding="utf-8")
#创建工作表
worksheet=workbook.add_sheet("s2")
print u"创建的Excel表的表名为:",worksheet.name
#像工作表中写内容,并设置单元格格式
worksheet.write(r=1,c=2,label=u"这是一个测试",style=style)
#将创建好的Excel写入硬盘
workbook.save("e:\test4\Excel_test.xls")
原文地址:https://www.cnblogs.com/jingsheng99/p/8878144.html