Excel 文档的写入

时间:2022-10-24 21:59:02

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 的内容如下图所示:

Excel 文档的写入

2.1 在指定位置插入一行

import openpyxl

wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active

ws.insert_rows(idx=1)
wb.save('example.xlsx')

上面代码中,首先读取文档 example.xlsx,然后获取活跃的工作表。接下来,在第一行的位置插入一行后进行保存。插入之后的文档如下图所示:

Excel 文档的写入

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,然后获取活跃的工作表。接下来,在第三行的位置插入三行后进行保存。插入之后的文档如下图所示:

Excel 文档的写入

2.3 在指定位置删除一行

import openpyxl

wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active

ws.delete_rows(idx=1)
wb.save('example.xlsx')

上面代码中,首先读取文档 example.xlsx,然后获取活跃的工作表。接下来,在第一行的位置删除一行后进行保存。删除之后的文档如下图所示:

Excel 文档的写入

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,然后获取活跃的工作表。接下来,在第二行的位置删除三行后进行保存。删除之后的文档如下图所示:

Excel 文档的写入

2.5 在指定位置插入一列

import openpyxl

wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active

ws.insert_cols(idx=1)
wb.save('example.xlsx')

上面代码中,首先读取文档 example.xlsx,然后获取活跃的工作表。接下来在第一列插入一列并进行保存。删除之后的文档如下图所示:

Excel 文档的写入

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,然后获取活跃的工作表。接下来,在第三列的位置插入三列后进行保存。插入之后的文档如下图所示:

Excel 文档的写入

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,然后获取活跃的工作表。接下来,在第三列的位置删除三列后进行保存。删除之后的文档如下图所示:

Excel 文档的写入

2.8 在指定位置删除一列

import openpyxl

wb = openpyxl.load_workbook("example.xlsx")
ws = wb.active

ws.delete_cols(idx=1)
wb.save('example.xlsx')

上面代码中,首先读取文档 example.xlsx,然后获取活跃的工作表。接下来,在第一列的位置删除一列后进行保存。删除之后的文档如下图所示:

Excel 文档的写入