带有Excel库错误的Robot Framework:“在赋值之前引用的局部变量'my_sheet_index'”

时间:2017-03-28 12:30:47

标签: python excel robotframework

我的ExcelLibrary概念验证存在问题。当我尝试将某些数据保存到新的Excel文件中时,它会在UnboundLocalError: local variable 'my_sheet_index' referenced before assignment上返回错误Put Number To Cell sheetname=${mySheetName} column=1 row=1 value=90

你知道我能做些什么来防止这样做吗?这是我的简易测试文件:

*** Settings ***
Library             ExcelLibrary
Library             Collections

*** Variables ***
${Excel_File_Path}   C:\\Python27\\ExcelRobotTest\\
${mySheetName}         UserImport

*** Test Cases ***
Excel Test
    Lubos Test

*** Keywords ***
Lubos Test
    Create Excel Workbook    newsheetname=${mySheetName}
    Put Number To Cell   sheetname=${mySheetName}    column=1    row=1    value=90
    Save Excel Current Directory    filename=MyNewExcel.xls

1 个答案:

答案 0 :(得分:2)

*** Settings ***
Library             ExcelLibrary

*** Variables ***
${Path}   C:\\Python27\\ExcelRobotTest\\
${name}    Test.xls

*** Test Cases ***
Excel Test
    Create

*** Keywords ***
Create
    Create Excel Workbook    ${name}
    Open Excel    ${path}${name}
    Put String To Cell    ${name}    1    1    90
    Save Excel        ${Path}${name}

这可以解决您的第一个错误

  

UnboundLocalError:局部变量' my_sheet_index'在分配前引用

我使用了Put Number To Cell,这导致了

  

IndexError:列表索引超出范围

所以我使用Put String To Cell,现在这会导致

  

IOError:[Errno 13]权限被拒绝:u' C:\ Python27 \ ExcelRobotTest \ Test.xls'

所以我认为我发布的当前代码是你最好的工作,因为一些有趣的政策阻止我通过机器人保存/更改文件......但我真的很难过:我设法绕过这个问题。

考虑到它抱怨烫发 - 它必须完成写作但不能保存。

EDIT1:在快速切换政策后,它现在正在抛出

  

IOError:[Errno 22]无效模式(' w + b')或文件名:u' C:\ Python27 \ ExcelRobotTest \ Test.xls'

我不知道这是什么......