【问题标题】:How to create and put data in excel file in Robot Framework?如何在 Robot Framework 中创建数据并将其放入 excel 文件中?
【发布时间】:2017-10-26 01:17:13
【问题描述】:

我想创建一个 Excel 文件并使用 Robot Framework 将输入数据添加到其中。 所以我添加了 Excel 库。 这是我使用的代码,我收到一条错误消息说

IndexError: 列表索引超出范围

所以我注释了第 3 行,得到的列数和行数都是 0。

Create Excel Workbook   NewExcelSheet               
Save Excel  NewExcel.xls    default=True            
Open Excel  NewExcel.xls    default=True            
Put Number To Cell  NewExcelSheet   1   1   90  
${Col}= Get Column Count    NewExcelSheet           
${Row}= Get Row Count   NewExcelSheet           
Log ${Col}              
Log ${Row}  

为什么我得到 0 作为列和行的值,为什么我不能在其中添加值?

【问题讨论】:

    标签: excel selenium robotframework excellibrary


    【解决方案1】:

    documentation 看来,ExcelLibrary 中似乎没有任何函数可以创建包含任何行或列的 Excel 工作表。这就是为什么您的行数和列数都为 0。这也是您无法将 [1,1] 更改为 90 的原因。

    引发的异常(使用机器人框架参数 --loglevel=DEBUG)表明“Put Number To Cell”不会动态创建所需的行和列。

    Traceback (most recent call last):
      File "c:\python27_32\lib\site-packages\ExcelLibrary\ExcelLibrary.py", line 370, in put_number_to_cell
        cell = self.wb.get_sheet(my_sheet_index).cell(int(row), int(column))
      File "c:\python27_32\lib\site-packages\xlrd\sheet.py", line 397, in cell
        xfx = self.cell_xf_index(rowx, colx)
      File "c:\python27_32\lib\site-packages\xlrd\sheet.py", line 423, in cell_xf_index
        xfx = self._cell_xf_indexes[rowx][colx]
    

    我建议研究一下 python library 并创建自己的 excel 适配器模块。

    例如使用 OpenPyXl:

    make_excel.py:

    from openpyxl import Workbook, load_workbook
    from contextlib import closing
    
    def make_excel_file(file_name):
        with closing(Workbook()) as wb:
            wb.save(file_name)
    
    def add_value(file_name, cell_cords, value):
        with closing(load_workbook(filename=file_name)) as wb:
            ws = wb.active
            ws[cell_cords] = value
            wb.save(file_name)
    

    make_excel.robot:

    *** Settings *** 
    Library  make_excel
    
    *** Test Cases ***
    Test
        Make Excel File   NewExcel.xlsx  1000
        Add Value  NewExcel.xlsx  A1  90
    

    【讨论】:

      【解决方案2】:

      pip install robotframework-openpyxllib

      这个 Robotframework Openpyxl 库提供了打开、读取、写入和保存 XLSX 文件的关键字

      【讨论】:

        猜你喜欢
        • 2022-11-22
        • 2021-03-27
        • 1970-01-01
        • 2017-12-21
        • 2020-11-17
        • 2018-04-29
        • 2022-01-05
        • 2015-12-18
        • 2022-12-04
        相关资源
        最近更新 更多