写入表格
指令说明
把数据写到表格中,可以写到指定单元格,也可以按行、列写入,可以选择追加、插入、覆盖。
指令输入参数
| 输入参数 | 输入参数类型 | 说明 |
|---|---|---|
| Excel对象 | ExcelApp | 写入到该表格 |
| 写入范围 | 枚举项 | 行、列、单元格 |
| 行号 | str | 从该行开始写入,从1开始,-n表示倒数第n行 |
| 列名 | str | 从该列开始写入,可以是列名(如A),也可以是列序号,从1开始,-n表示倒数第n行 |
| 写入方式 | 枚举项 | 追加、插入、覆盖,仅 写入范围 是 行 或 列 时需要该参数 |
| 写入内容 | list/list[list]/any | 待写入的内容。二维数组按行优先写入,例如[[1, 2], [3, 4]]会写入2行2列区域 |
| sheet | str | sheet页名称,默认激活的sheet |
指令输出参数
无
说明
-
行号/列名:
- 按行写入时,从第几列开始写入
- 按列写入时,从第几行开始写入
-
写入方式:
- 追加:在最后一行、列后面添加一行、列数据
- 插入:在指定的行、列后面插入一行、列数据,后面的数据自动后移一行、列
- 覆盖:修改指定行、列的数据
-
写入内容:
- 普通值会写入单个单元格。
- 一维列表按写入范围写成一行或一列,例如
['a', 'b', 'c']。 - 二维数组按行优先写入矩形区域,例如
[[1, 2], [3, 4]]会从指定起始单元格开始写入2行2列。 - 二维数组长度不一致时,较短的行会自动用空字符串补齐。
- 二维数组从指定起始行、起始列开始写入,不会修改起始列左侧或起始行上方的单元格。
提示
默认openpyxl模式不需要安装Microsoft Office或者金山WPS。若目标文件正被Office/WPS打开,保存时可能失败,请关闭占用该文件的窗口后重试。
示例
- 原始数据
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |
| 2 | Car | Truck | Taxi | |
| 3 | Ball | Lego | Doll |
- 写入范围:行,列名:C,写入方式:追加,写入内容
['a','b','c','d']
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | Truck | Taxi | |||
| 3 | Ball | Lego | Doll | |||
| 4 | a | b | c | d |
- 写入范围:行,列名:C,写入方式:插入,行号:2,写入内容
['a','b','c','d']
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | a | b | c | d | ||
| 3 | Car | Truck | Taxi | |||
| 4 | Ball | Lego | Doll | |||
| 5 |
- 写入范围:行,列名:C,写入方式:覆盖,行号:2,写入内容
['a','b','c','d']
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | a | b | c | d | |
| 3 | Ball | Lego | Doll | |||
| 4 |
- 写入范围:列,行号:2,写入方式:追加,写入内容
['a','b','c','d']
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | Truck | Taxi | a | ||
| 3 | Ball | Lego | Doll | b | ||
| 4 | c | |||||
| 5 | d |
- 写入范围:列,行号:2,写入方式:插入,列名C,写入内容
['a','b','c','d']
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | a | Truck | Taxi | ||
| 3 | Ball | b | Lego | Doll | ||
| 4 | c | |||||
| 5 | d |
- 写入范围:列,行号:2,写入方式:覆盖,列名C,写入内容
['a','b','c','d']
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | a | Taxi | |||
| 3 | Ball | b | Doll | |||
| 4 | c | |||||
| 5 | d |
- 写入范围:单元格,行号:2,列名C,写入内容
'a'
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | a | Taxi | |||
| 3 | Ball | Lego | Doll | |||
| 4 |
- 写入范围:单元格,行号:3,列名D,写入内容
[[1, 2], [3, 4]]
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Apple | Banana | Tomato | |||
| 2 | Car | Truck | Taxi | |||
| 3 | Ball | Lego | 1 | 2 | ||
| 4 | 3 | 4 |
该示例只会修改D3:E4区域,A:C列不会被修改。