#导入第三方模块 openpyxl,没有的话先以管理员身份安装pip install openpyxl
import openpyxl,os
from openpyxl.utils import get_column_letter,column_index_from_string
#如果Excel文件不再工作目录下,可以修改工作目录
#print(os.getcwd())
#os.chdir('C:\\Users\\Nick\\Desktop\\python\\drawing\\2\\')

#或者写全路径
wb = openpyxl.load_workbook('C:\\Users\\Nick\\Desktop\\python\\drawing\\2\\pythonExcel.xlsx')#返回一个workbook数据类型的值,这个workbook对象就代表Excel文件

otherSheet = wb.get_active_sheet()

        

"""
#每一个表都有一个Worksheet对象表示
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
>>> wb.get_sheet_names()#获取打开Excel文件中各个表的名称
['问题表', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('问题表')#可以单独传递表明称获取表
>>> sheet
<Worksheet "问题表">
>>> type(sheet)
<class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'问题表'
>>> otherSheet = wb.get_active_sheet()#获取当前工作表
<Worksheet "问题表">
>>> otherSheet['A2']#返回的是Cell对象
<Cell '问题表'.A2>
#从表单中获取单元格

#有了Worksheet对象后,就可以按名字访问Cell对象

#Cell对象有一个alue属性,不出意外,它包含这个单元格中保存的值,Cell对象也有row(行),column(列)和coordinate(列行)属性,提供这个单元格的位置信息

#再调用表的cell()方法时,可以传入整数作为row(行),column(列)关键字参数,也可以得到一个单元格第一行和第一列的整数是1,而不是0

>>> otherSheet['A2'].value
'序号'
>>> biao = otherSheet['B3'].value
>>> biao
'首页:商铺、写字楼图标更换'
>>> biao1 = otherSheet['B3']
>>> biao1.value
'首页:商铺、写字楼图标更换'
>>> 'Row:'+str(biao1.row)+',column:'+ biao1.column + 'is'+ biao1.value
'Row:3,column:Bis首页:商铺、写字楼图标更换'
>>> 'Cell: '+ biao1.coordinate + ' is ' + biao1.value
'Cell: B3 is 首页:商铺、写字楼图标更换'


列字母和数字之间的转换
要从字母转换到数字,就需要调用openpyxl.utils.column_index_from_string()函数

要从数字转换到字母,就需要调用openpyxl.utils.get_column_letter()函数
>>> from openpyxl.utils import get_column_letter,column_index_from_string
>>> column_index_from_string('A')
1
>>> get_column_letter(1)
'A'




#从表单中取得行和列

可以将Worksheet对象切片,取得电子表格中的一行,一列或一个矩形区域中的所有Cell对象,然后可以循环遍历这个切片中的所有单元格
"""
type(otherSheet['A1':'F16'])

for rowOfCellObjects in otherSheet['A1':'F16']:
    for cellObj in rowOfCellObjects:
        print(cellObj.coordinate,cellObj.value)
    print("---END OF ROW---"



"""
 工作簿   ——> 工作表   ——> 单元格   过程
 
1、导入openpyxl模块
2、调用openpyxl.load_workbook()函数
3、取得Workbook对象
4、调用get_active_sheet()或get_sheet_by_name()工作簿方法
5、取得Worksheet对象
6、使用索引或者工作表的Cell()方法,带上row和column参数
7、取得Cell对象
8、读取Cell对象的value属性

"""



本文转载:CSDN博客