from openpyxl import load_workbook # 導入讀取excel文件的模塊 from openpyxl import Workbook # 導入新建excel文件的模塊 xls_read = load_workbook('pyxl_test.xlsx') # 打開excel文件名為'pyxl_test.xlsx' # print(xls_read.sheetnames) # 查看工作表'pyxl_test.xlsx'中的所有sheet名,以列表形式生成 print(xls_read.active) # 查看文件pyxl_test的活動中sheet # xls_read.active.title = 'test' # 將活動中的sheet名稱變更為test xls_read_sheet = xls_read.active # 將活動中的sheet賦值給變量 # xls_read_sheet = xls_read.get_sheet_by_name('test') # 獲取excel文件的某一個sheet # print(xls_read_sheet['C']) # 讀取sheet中的C列所有數據,數據是以元組形式呈現 # print(xls_read_sheet['C4'].value) # 讀取sheet中'C4'單元格的值 # print(xls_read_sheet.max_column) # 查看sheet中最大的列合計值,統計依據是只要單元格含有值,就算一列 # print(xls_read_sheet.max_row) # 查看sheet中最大的行合計值,統計依據是只要單元格含有值,就算一行 # b4 = xls_read_sheet['B4'] # 通過列號+行數 來定位某一個cell # print(b4.value) # 使用.value 來獲取某一個cell的值 # print(xls_read_sheet.cell(column=2,row=4).value) # 通過某sheet.cell(column=?,row=?).value 來取的某一個單元格的值 # xls_read_sheet.rows # sheet.rows是一個生成器,把每一行的內容形成一個元組 # for row in xls_read_sheet.rows: # print(row) # for cell in row: # print(cell.value) # # for column in xls_read_sheet.columns: #sheet.columns是一個生成器,遍歷每一列 一列的內容形成元組 # print(list(column)) # print(list(column)[0].value) # for i in column: # if i.value: # print(i.value) # print(i.value) for row in range(1, xls_read_sheet.max_row + 1): for col in range(1, xls_read_sheet.max_column + 1): res = xls_read_sheet.cell(row=row, column=col) if res.value: print(res.value, end=' ') # print(xls_read_sheet.cell(row=row,column=col).value,end=' ') print() xls_read.save('pyxl_test.xlsx') # 保存該文件 print('=' * 40) wb = Workbook() # 新建了一張工作表,並默認創建了一張名叫'Sheet'的sheet, print(wb) # <openpyxl.workbook.workbook.Workbook object at 0x10515bc50> print(wb.get_sheet_names()) # 顯示wb工作表中所有的sheet,得到一個列表 wb.create_sheet('Data', index=1) # 在wb工作表中新建一個名叫'Data'的sheet,該sheet的序號是1 # print(wb.get_sheet_names()) # del wb['Sheet'] #刪除wb工作表中名叫'Sheet'的sheet print(wb.get_sheet_names()) print(wb.active) # 查看wb工作表中活動中的sheet print(wb.active.values) # 將該wb工作表中活動中的sheet的數據形成一個生成器 wb.active.title = 'test_sheet' # 當前活動中的sheet更名 # print(wb.sheetnames) wb.active['A1'] = 4 wb.active['B1'] = 2 wb.active['C1'] = '=AVERAGE(A1:B1)' #使用excel的公式(但是通過load_workbook data_only=True打開貌似也拿不到值) wb.active['D1'] = '=A1*B1' print(wb.active['A1'].value) print(wb.active['B1'].value) print(wb.active['C1'].value) wb.save('pyxl_test1.xlsx')
