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.