Forum Discussion

Pankajyadav's avatar
Pankajyadav
New Contributor
11 years ago

Write properties to output Excel file

import jxl.*
import jxl.write.*

file = new File("D:\\soapui-practice\\OutputResult.xls")
if(!file.exists()){
log.info "file does not exists create new worksheet headers, and first line of values";
WritableWorkbook workbook1 = Workbook.createWorkbook(file)
WritableSheet sheet1 = workbook1.createSheet("Worksheet Number 1", 0)
log.info(sheet1.isHidden())
Label label1 = new Label(0, 0, "Header1");
sheet1.addCell(label1);
Label label2 = new Label(1, 0, "Header2");
sheet1.addCell(label2);
Label valuel = new Label(0, 1, "value1R1C1");
sheet1.addCell(valuel);
Label value2 = new Label(1, 1, "value2R1C2");
sheet1.addCell(value2);
workbook1.write()
workbook1.close()
}else{
log.info "file exists open worksheet headers, and update from next rows";
WritableWorkbook book = Workbook.createWorkbook( file, Workbook.getWorkbook(file) )
sheet = book.getSheet( 0 )
newRow = sheet.rows
sheet.insertRow( newRow )
def value1 = new Label( 0, newRow, "value1R2C1")
sheet.addCell( value1 )
def value2 = new Label( 1, newRow, "value1R2C2")
sheet.addCell( value2 )
log.info newRow
book.write()
book.close()

}

2 Replies

  • nmrao's avatar
    nmrao
    Champion Level 3
    Nice of you.

    So, which properties does this sample saves? test suite/test case or project? It was not clear.
    • davidshepard's avatar
      davidshepard
      New Member

      Just found this thread looking for the same answer.

       

      **Output Properties to Excel**

       

      Here is what I came up with:

       

      import jxl.*
      import jxl.write.*
      def myTestCase = context.testCase
      propTestStep = myTestCase.getTestStepByName("Property Test Step Name")
      Property1= propTestStep.getPropertyValue("PropertyName1")
      Property2= propTestStep.getPropertyValue("PropertyName2")
      file = new File("C:\\filedirectory\\file.xls")
      if(!file.exists()){
      log.info "file does not exists create new worksheet headers, and first line of values";
      WritableWorkbook workbook1 = Workbook.createWorkbook(file)
      WritableSheet sheet1 = workbook1.createSheet("Worksheet Number 1", 0)
      log.info(sheet1.isHidden())
      Label label1 = new Label(0, 0, "PropertyHeader1");
      sheet1.addCell(label1);
      Label label2 = new Label(1, 0, "PropertyHeader2");
      sheet1.addCell(label2);
      Label valuel = new Label(0, 1, Property1);
      sheet1.addCell(valuel);
      Label value2 = new Label(1, 1, Property2);
      sheet1.addCell(value2);
      workbook1.write()
      workbook1.close()
      }else{
      log.info "file exists open worksheet headers, and update from next rows";
      WritableWorkbook book = Workbook.createWorkbook( file, Workbook.getWorkbook(file) )
      sheet = book.getSheet( 0 )
      newRow = sheet.rows
      sheet.insertRow( newRow )
      def value1 = new Label( 0, newRow, Property1)
      sheet.addCell( value1 )
      def value2 = new Label( 1, newRow, Property2)
      sheet.addCell( value2 )
      log.info newRow
      book.write()
      book.close()
      }

       

      Hope this helps the next person.