xbot.excel.WorkSheet

概述

worksheet接口主要是对工作表的处理,如获取内容、设置内容、清除内容、获取总行数、选中区域等

详情

get_cell

获取工作表中指定单元格的内容

get_cell(self, row_num, col_name)

参数

  • row_num:指定单元格的行号,行号从1开始
  • col_name:指定单元格的列名,列名从'A'开始

返回值

  • any:返回工作表中指定单元格内容

示例1

获取工作表中第 10 行第 B 列单元格的内容

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    data = worksheet.get_cell(10, 'B')

get_row

获取工作表中指定行内容

get_row(self, row_num)

参数

  • row_num:指定行号,行号从1开始

返回值

  • List[any]:返回读取到的内容列表,如['a', 'b', 'c', 'd']

示例1

获取工作表中第一行内容

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    data = worksheet.get_row(1)

get_column

获取工作表中指定列内容

get_column(self, col_name)

参数

  • col_name:指定列名,列名从'A'开始

返回值

  • List[any]:返回读取到的内容列表,如['a', 'b', 'c', 'd']

示例1

获取工作表中第'A'列内容

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    data = worksheet.get_column('A')

get_range

获取工作表中指定区域的内容

get_range(self, begin_row_num, begin_column_name, end_row_num, end_column_name)

参数

  • begin_row_num:起始单元格行号,行号从1开始
  • begin_column_name:起始单元格列名,列名从A开始
  • end_row_num:结束单元格行号, 行号从1开始
  • end_column_name:结束单元格列名,列名从A开始

返回值

  • List[Tuple]:返回读取到的内容,二维结构如[ ['a1', 'b1'], ['a2', 'b2'] ]

示例1

获取工作表中 起始单元格A1 到 结束单元格F3 的矩形区域内容

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    data = worksheet.get_range(1, 'A', 3, 'F')

set_cell

设置工作表指定单元格内容

set_cell(self, row_num, col_name, value)

参数

  • row_num:指定单元格的行号
  • col_name:指定单元格的列名
  • value:要设置到单元格中的内容

返回值

示例1

设置工作表第 10 行第 B 列单元格的值为 'helloword'

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.set_cell(10, 'B', 'helloword')

set_row

设置工作表行内容

set_row(self, row_num, values, begin_column_name = 'A')

参数

  • row_num:要设置的行号,行号从1开始
  • values:要设置的值,必须是一个列表类型,如['a', 1, 2]
  • begin_column_name:设置开始的单元格列名,默认值为 'A'

返回值

示例1

将列表数据 ['a', 1, 2] 写入工作表的第 1 行

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.set_row(1, ['a', 1, 2], begin_column_name = 'A')

set_column

设置工作表列内容

set_column(selef, col_name, values, begin_row_num = 1)

参数

  • col_name:需要设置的列名
  • values:要设置的值, 必须是一个列表类型
  • begin_row_num:需要设置的列的起始行号,默认行号从1开始

返回值

示例1

从第 1 行开始设置第 A 列数据值为 [1,2,3,4,5,6,7,8,9,0]

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.set_column('A', [1,2,3,4,5,6,7,8,9,0], begin_row_num = 1)

set_range

设置工作表指定区域内容

set_range(self, row_num, col_name, values)

参数

  • row_num:设置区域起始行号,行号从1开始
  • col_name:设置区域起始列名,列名从A开始
  • values:要设置的内容,必须是一个二维数组

返回值

示例1

设置工作表从 A1 单元格开始的值为

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.set_range(1, 'A', [['1','2','3'],['a','b','c']])

append_row

在工作表的最后追加一行内容

append_row(self, values, begin_column_name = 'A')

参数

  • values:要设置的值, 必须是一个列表类型
  • begin_column_name:设置开始的单元格列名, 默认值为A

返回值

示例1

在工作表的最后追加一行内容,起始写入单元格的列名为 B,内容为 [1,2,3,4,5,6,7,8,9,0]

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.append_row([1,2,3,4,5,6,7,8,9,0], begin_column_name = 'B')

insert_row

在工作表中插入一行内容

insert_row(self, row_num, values, begin_column_name = 'A')

参数

  • row_num:插入位置的行号,行号从1开始
  • values:要设置的值,必须是一个列表类型
  • begin_column_name:设置开始的单元格列名,默认值为A

返回值

示例1

往工作表第 10 行插入一条记录,行开始单元格列名为 A 插入值为 [1,2,3,4,5,6,7,8,9,0]

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.insert_row(10, [1,2,3,4,5,6,7,8,9,0], begin_column_name = 'A')

remove_row

移除工作表的某一行内容

remove_row(self, row_num)

参数

  • row_num:要移除的行号

返回值

示例1

移除工作表中第 10 行的数据

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.remove_row(10)

remove_column

移除工作表的某一列内容

remove_column(self, column_name)

参数

  • column_name:要移除的列名

返回值

示例1

移除工作表中第 D 列的数据

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.remove_column('D')

clear

清空工作表内容

clear(self)

参数

返回值

示例1

清空工作表内容

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    worksheet.clear()

get_row_count

获取工作表的总行数

get_row_count(self)

参数

返回值

  • int:返回工作表的总行数

示例1

获取工作表当前数据的总行数

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_row_count()

get_column_count

获取工作表的总列数

get_column_count(self)

参数

返回值

  • int:返回工作表的总列数

示例1

获取工作表当前数据的总列数

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_column_count()

select_range

选中工作表的指定内容区域

select_range(self, begin_row_num, begin_column_name, end_row_num, end_column_name)

参数

  • begin_row_num:起始单元格行号,行号从1开始
  • begin_column_name:起始单元格列名,列名从A开始
  • end_row_num:结束单元格行号, 行号从1开始
  • end_column_name:结束单元格列名,列名从A开始

返回值

示例1

选中工作表中 从单元格A1到单元格C3 的矩形内容区域

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.select_range(1, 'A', 3, 'C')

get_name

获取工作表的名称

get_name(self)

参数

返回值

  • str:返回工作表的名称

示例1

获取工作表当前数据的名称

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_name()

insert_column

插入列

select_range(self, column_name, values, begin_row_index = 1)

参数

  • column_name:插入列名
  • values:插入数据
  • begin_row_index:开始插入的行号

返回值

示例1

将列表[1, 'a', 2]插入到D列,并且从第3行开始插

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.insert('D', [1, 'a', 2], 3)

get_first_free_column

获取第一个可用列

get_first_free_column(self)

参数

返回值

  • str:返回工作表的列名

示例1

获取当前列表的第一个可用列

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_first_free_column()

get_first_free_column_on_row

获取行的第一个可用列

get_first_free_column_on_row(self, row_num)

参数

  • row_num:行号

返回值

  • str:返回工作表的列名

示例1

获取当前列表的第3上的第一个可用列

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_first_free_column_on_row(3)

get_first_free_row

获取第一个可用行

get_first_free_row(self)

参数

返回值

  • int:返回工作表的行号

示例1

获取当前列表的第一个可用行

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_first_free_row()

get_first_free_row_on_column

获取列的第一个可用行

get_first_free_row_on_column(self, column_name)

参数

  • column_name:列名

返回值

  • int:返回工作表的行号

示例1

获取当前列表的D列上的第一个可用行

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.get_first_free_row_on_column('D')

copy_range

拷贝指定的区域内容到剪切板

copy_range(self, begin_row_num, begin_column_name, end_row_num, end_column_name)

参数

  • begin_row_num:起始单元格行号,行号从1开始
  • begin_column_name:起始单元格列名,列名从A开始
  • end_row_num:结束单元格行号, 行号从1开始
  • end_column_name:结束单元格列名,列名从A开始

返回值

示例1

拷贝工作表中从单元格A1到单元格C3 的矩形内容区域

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.copy_range(1, 'A', 3, 'C')

paste_range

从指定的起始单元格粘贴剪切板数据 (该接口已弃用,后续不再维护,建议使用接口paste_range_ex)

paste_range(self, row_num, column_name)

参数

  • row_num:起始单元格行号,行号从1开始
  • column_name:起始单元格列名,列名从A开始

返回值

示例1

从指定的起始单元格C3粘贴剪切板数据

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.paste_range(3, 'C')

paste_range_ex

从指定的起始单元格粘贴剪切板数据,扩展选择性粘贴功能

paste_range_ex(self, row_num, column_name, paste_type = -4104, paste_special_operation = -4142, skip_blanks = False, transpose = False)

参数

  • row_num:起始单元格行号,行号从1开始
  • column_name:起始单元格列名,列名从A开始
  • paste_type:粘贴类型,类型参数代码如下:

          1.全部: -4104
          2.公式: -4123
          3.数值: -4163
          4.格式: -4122
          5.批注: -4144
          6.有效性验证: 6
          7.所有使用源主题的单元: 13
          8.边框除外: 7
          9.列宽: 8
          10.公式和数字格式: 11
          11.值和数字格式: 12
    
  • paste_special_operation:粘贴运算

          1.无:-4142
          2.加:2
          3.减:3
          4.乘:4
          5.除:5
    
  • skip_blanks:是否跳过空单元

  • transpose:是否选择转置

返回值

示例1

从指定的起始单元格C3粘贴剪切板数据

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.paste_range(3, 'C', -4104, -4142, False, False)

clear_range

清空指定的区域内容

clear_range(self, begin_row_num, begin_column_name, end_row_num, end_column_name)

参数

  • begin_row_num:起始单元格行号,行号从1开始
  • begin_column_name:起始单元格列名,列名从A开始
  • end_row_num:结束单元格行号, 行号从1开始
  • end_column_name:结束单元格列名,列名从A开始

返回值

示例1

清空工作表中从单元格A1到单元格C3 的矩形内容区域

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    count = worksheet.clear_range(1, 'A', 3, 'C')

set_row_hidden

设置行隐藏属性

set_row_hidden(self, row_num, hidden = False)

参数

  • row_num:行号,list,行号从1开始
  • hidden:隐藏属性,True为隐藏,False为取消隐藏

返回值

示例1

设置第1行到第3行隐藏

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    row_list = [1,2,3]
    worksheet.set_row_hidden(row_list, True)
    workbook.save()
    workbook.close()

set_column_hidden

设置行隐藏属性

set_column_hidden(self, column_name, hidden = False)

参数

  • column_name:列名,list,列名从A开始
  • hidden:隐藏属性,True为隐藏,False为取消隐藏

返回值

示例1

设置第A列到第C列隐藏

from xbot import excel

def main(args):
    workbook = excel.open('D:\\test.xlsx', kind = 'office', visible = True)
    worksheet = workbook.get_active_sheet()
    col_list = ['A','B','C']
    worksheet.set_column_hidden(col_list, True)
    workbook.save()
    workbook.close()
问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""