1. 向單元格寫入資料
1.1 一個單元格的寫入
向工作表的一個單元格寫入内容的代碼如下:
import openpyxl
wb = openpyxl.Workbook()
ws = wb['Sheet']
ws['A1'].value = 'Hello World!'
wb.save('write_excel.xlsx')
上面代碼中,首先導入第三方庫 openpyxl。其次,擷取工作簿中的工作表。最後,向單元格 A1 寫入
Hello World!
并儲存文檔為
write_excel.xlsx
。這樣,我們便向文檔
write_excel.xlsx
的 Sheet 工作表的 A1 單元格寫入了
Hello World!
。
1.2 多個單元格的寫入
上面一次寫入一個單元格,我們可以使用循環一次寫入多個單元格。代碼如下:
import openpyxl
wb = openpyxl.load_workbook("write_excel.xlsx")
ws = wb['Sheet']
for i in range(1, 10):
ws.cell(row=2, column=i).value = i
wb.save('write_excel.xlsx')
上面的代碼向工作表第二行的前九個單元格分别寫入了1,2,3,4,5,6,7,8,9。
2. 插入、删除行和列
文檔 example.xlsx 的内容如下圖所示:
2.1 在指定位置插入一行
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.insert_rows(idx=1)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來,在第一行的位置插入一行後進行儲存。插入之後的文檔如下圖所示:
2.2 在指定位置插入多行
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.insert_rows(idx=3, amount=3)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來,在第三行的位置插入三行後進行儲存。插入之後的文檔如下圖所示:
2.3 在指定位置删除一行
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.delete_rows(idx=1)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來,在第一行的位置删除一行後進行儲存。删除之後的文檔如下圖所示:
2.4 在指定位置删除多行
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.delete_rows(idx=2, amount=3)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來,在第二行的位置删除三行後進行儲存。删除之後的文檔如下圖所示:
2.5 在指定位置插入一列
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.insert_cols(idx=1)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來在第一列插入一列并進行儲存。删除之後的文檔如下圖所示:
2.6 在指定位置插入多列
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.insert_cols(idx=3, amount=3)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來,在第三列的位置插入三列後進行儲存。插入之後的文檔如下圖所示:
2.7 在指定位置删除多列
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.delete_cols(idx=3, amount=3)
wb.save('example.xlsx')
上面代碼中,首先讀取文檔 example.xlsx,然後擷取活躍的工作表。接下來,在第三列的位置删除三列後進行儲存。删除之後的文檔如下圖所示:
2.8 在指定位置删除一列
import openpyxl
wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active
ws.delete_cols(idx=1)
wb.save('example.xlsx')