Reputation: 5
I am newbie. I try to write data in existing excel file. When I run on robotframework, it display "No keyword with name 'Write To Excel File' found". So could you help me to fix my code or give me suggestion to me?
import xlwt
from xlutils.copy import copy
class Excel(object):
def __init__(self):
print "write to excel file"
def group(self,lst, n):
return ([lst[i:i+n] for i in range(0,len(lst),n)])
def write_to_excel_file(self,filename,content_list):
# Existing Excel File
w = copy(filename)
b = w.get_sheet(0)
# Create an new Excel file and add a worksheet.
#workbook = xlwt.Workbook()
#worksheet = workbook.add_sheet('wb')
#content_lists=[1,1,'hello',2,1,'brother',3,1,'how are you',4,1,'are you good today']
t=self.group(content_list,3)
#print(t)
for item in t:
b.write(int(item[0]), int(item[1]), item[2])
# close work book
w.save(filename)
Upvotes: 0
Views: 1526
Reputation: 9721
Let me know if this works for you
import xlwt
from xlutils.copy import copy
import xlrd
import os.path
class Excel(object):
def __init__(self):
print "write to excel file"
def group(self,lst, size):
return ([lst[i:i+size] for i in range(0, len(lst), size)])
def write_to_excel_file(self,filename,content_list):
if not os.path.exists(filename):
workbook = xlwt.Workbook() # Create an new Excel file and add a worksheet.
worksheet = workbook.add_sheet('wb') #add worksheet
workbook.save(filename)
rb = xlrd.open_workbook(filename,formatting_info=True)
r_sheet = rb.sheet_by_index(0)
r = r_sheet.nrows
wb = copy(rb)
sheet = wb.get_sheet(0)
t=self.group(content_list,3)
for item in t:
sheet.write(int(item[0]), int(item[1]), item[2])
wb.save(filename)
RIDE test cases
*** Settings ***
Library Collections
Library WriteExcel.Excel
*** Variables ***
*** Test Cases ***
Write Excel Test first
[Tags]
@{content} Create List
Append To List ${content} 15 1 Test Case 1
Append To List ${content} 16 1 Test Case 2
Append To List ${content} 17 1 Test Case 3
Append To List ${content} 18 1 Test Case 4
Write To Excel File test3.xls ${content}
log @${content}
Write Excel Test Second
[Tags]
@{content} Create List
Append To List ${content} 25 1 Test Case 11
Append To List ${content} 26 1 Test Case 12
Append To List ${content} 27 1 Test Case 13
Append To List ${content} 28 1 Test Case 14
Write To Excel File test3.xls ${content}
log @${content}
Upvotes: 3