如何在 Robot Framework 中创建数据并将其放入 excel 文件?
How to create and put data in excel file in Robot Framework?
我想创建一个 Excel 文件并使用 Robot Framework 将输入数据添加到其中。
所以我添加了 Excel 库。
这是我使用的代码,我收到一条错误消息说
IndexError: list index out of range
所以我评论了第 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 作为列和行的值,为什么我不能在其中添加值?
从 documentation 看来,ExcelLibrary 中似乎没有函数创建具有任何行或列的 excel sheet。这就是行数和列数均为 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
pip 安装 robotframework-openpyxllib
这个 Robotframework Openpyxl 库提供了打开、读取、写入和保存 XLSX 文件的关键字
我想创建一个 Excel 文件并使用 Robot Framework 将输入数据添加到其中。 所以我添加了 Excel 库。 这是我使用的代码,我收到一条错误消息说
IndexError: list index out of range
所以我评论了第 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 作为列和行的值,为什么我不能在其中添加值?
从 documentation 看来,ExcelLibrary 中似乎没有函数创建具有任何行或列的 excel sheet。这就是行数和列数均为 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
pip 安装 robotframework-openpyxllib
这个 Robotframework Openpyxl 库提供了打开、读取、写入和保存 XLSX 文件的关键字