使用Robot Framework ExcelLibrary将数据保存到同一xls文件

时间:2018-01-16 22:59:24

标签: excel selenium robotframework

是否可以使用Robot Framework读取数据(Sheet1)并将数据(Sheet2)写入相同的xls文件?这是我的代码。错误在最后一行。

*** Settings ***
Library  Collections
Library  ExcelLibrary

*** Test Cases ***
Write Results to Excel
    Open Excel  ${Excel_File_Path}${Excel_File_Name}

    # Check to see if the Results sheet exists before creating:
    ${sheetNames} =  Get Sheet Names
    ${SheetChk} =  Evaluate  ${EXCEL_RESULTS_SHEET}  in  ${sheetNames}
    Run keyword If  "${SheetChk}" == "False"
    ...  Add New Sheet   ${EXCEL_RESULTS_SHEET}

    # Write the data
    Put String To Cell  ${EXCEL_RESULTS_SHEET}  ${ColNum}  ${RowNum}  ${ResultsDataVal}

    # Save the data
    Save Excel  ${Excel_File_Path}${Excel_File_Name}
    # Getting error: ValueError: dictionary update sequence element #0 has length 8; 2 is required

1 个答案:

答案 0 :(得分:0)

library's documentation明确声明在添加工作表之前或之后执行任何其他操作。从“使用robotframework-excellibrary时的注意事项”部分开始:

  

使用关键字“添加新工作表”时,用户无法在当前打开的工作簿上的此关键字之前或之后执行任何功能。使用关键字“添加新工作表”时,不会保存其他关键字所做的更改。

因此,在Run Keyword If片段中,您还必须保存文件并重新加载。