Python API

Excel.Application

class RPA.Excel.Application.Application(autoexit: bool = True)

Bases: object

Excel.Application is a library for controlling an Excel application.

Note. Library works only Windows platform.

Library will automatically close the Excel application at the end of the task execution. This can be changed by importing library with autoexit setting.

*** Settings ***
Library                 RPA.Excel.Application   autoexit=${FALSE}

Examples

Robot Framework

*** Settings ***
Library             RPA.Excel.Application
Task Setup          Open Application
Task Teardown       Quit Application

*** Tasks ***
Manipulate Excel application
    Open Workbook           workbook.xlsx
    Set Active Worksheet    sheetname=new stuff
    Write To Cells          row=1
    ...                     column=1
    ...                     value=my data
    Save Excel

Run Excel Macro
    Open Workbook   orders_with_macro.xlsm
    Run Macro       Sheet1.CommandButton1_Click

Export Workbook as PDF
    Open Workbook           workbook.xlsx
    Export as PDF           workbook.pdf

Python

from RPA.Excel.Application import Application

app = Application()

app.open_application()
app.open_workbook('workbook.xlsx')
app.set_active_worksheet(sheetname='new stuff')
app.write_to_cells(row=1, column=1, value='new data')
app.save_excel()
app.quit_application()
ROBOT_LIBRARY_DOC_FORMAT = 'REST'
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
add_new_sheet(sheetname: str, tabname: Optional[str] = None, create_workbook: bool = True) None

Add new worksheet to workbook. Workbook is created by default if it does not exist.

Parameters
  • sheetname – name for sheet

  • tabname – name for tab (deprecated)

  • create_workbook – create workbook if True, defaults to True

Raises

ValueError – error is raised if workbook does not exist and create_workbook is False

add_new_workbook() None

Adds new workbook for Excel application

close_document(save_changes: bool = False) None

Close the active document (if open).

export_as_pdf(pdf_filename: str, excel_filename: Optional[str] = None)

Export Excel as PDF file

If Excel filename is not given, the currently open workbook will be exported as PDF.

Parameters
  • pdf_filename – PDF filename to save

  • excel_filename – Excel filename to open

find_first_available_cell(worksheet: Optional[Any] = None, row: int = 1, column: int = 1) Any

Find first available free cell

Parameters
  • worksheet – worksheet to handle, defaults to active worksheet if None

  • row – starting row for search, defaults to 1

  • column – starting column for search, defaults to 1

Returns

tuple (row, column) or (None, None) if not found

find_first_available_row(worksheet: Optional[Any] = None, row: int = 1, column: int = 1) Any

Find first available free row

Parameters
  • worksheet – worksheet to handle, defaults to active worksheet if None

  • row – starting row for search, defaults to 1

  • column – starting column for search, defaults to 1

Returns

row or None

open_application(visible: bool = False, display_alerts: bool = False) None

Open the Excel application.

Parameters
  • visible – show window after opening

  • display_alerts – show alert popups

open_workbook(filename: str) None

Open Excel by filename

By default sets active worksheet to sheet number 1

Parameters

filename – path to filename

quit_application(save_changes: bool = False) None

Quit the application.

read_from_cells(worksheet: Optional[Any] = None, row: Optional[int] = None, column: Optional[int] = None) str

Read value from cell.

Parameters
  • worksheet – worksheet to handle, defaults to active worksheet if None

  • row – target row, defaults to None

  • column – target row, defaults to None

Raises

ValueError – if cell is not given

run_macro(macro_name: str, *args: Any)

Run Excel macro with given name

Parameters
  • macro_name – macro to run

  • args – arguments to pass to macro

save_excel() None

Saves Excel file

save_excel_as(filename: str, autofit: bool = False, file_format=None) None

Save Excel with name if workbook is open

Parameters
  • filename – where to save file

  • autofit – autofit cell widths if True, defaults to False

  • file_format – format of file

Note: Changing the file extension for the path does not affect the actual format. To use an older format, use the file_format argument with one of the following values:

https://docs.microsoft.com/en-us/office/vba/api/excel.xlfileformat

Examples:

# Save workbook in modern format
Save excel as    orders.xlsx

# Save workbook in Excel 97 format (format from above URL)
Save excel as    legacy.xls   file_format=${56}
set_active_worksheet(sheetname: Optional[str] = None, sheetnumber: Optional[int] = None) None

Set active worksheet by either its sheet number or name

Parameters
  • sheetname – name of Excel sheet, defaults to None

  • sheetnumber – index of Excel sheet, defaults to None

write_to_cells(worksheet: Optional[Any] = None, row: Optional[int] = None, column: Optional[int] = None, value: Optional[str] = None, number_format: Optional[str] = None, formula: Optional[str] = None) None

Write value, number_format and/or formula into cell.

Parameters
  • worksheet – worksheet to handle, defaults to active worksheet if None

  • row – target row, defaults to None

  • column – target row, defaults to None

  • value – possible value to set, defaults to None

  • number_format – possible number format to set, defaults to None

  • formula – possible format to set, defaults to None

Raises

ValueError – if cell is not given

RPA.Excel.Application.catch_com_error()

Try to convert COM errors to human readable format.