MCPcopy Create free account
hub / github.com/O365/python-o365 / WorkSheet

Class WorkSheet

O365/excel.py:1476–1679  ·  view source on GitHub ↗

An Excel WorkSheet

Source from the content-addressed store, hash-verified

1474
1475
1476class WorkSheet(ApiComponent):
1477 """ An Excel WorkSheet """
1478
1479 _endpoints = {
1480 'get_tables': '/tables',
1481 'get_table': '/tables/{id}',
1482 'get_range': '/range',
1483 'add_table': '/tables/add',
1484 'get_used_range': '/usedRange(valuesOnly={})',
1485 'get_cell': '/cell(row={row},column={column})',
1486 'add_named_range': '/names/add',
1487 'add_named_range_f': '/names/addFormulaLocal',
1488 'get_named_range': '/names/{name}',
1489 }
1490
1491 table_constructor = Table
1492 range_constructor = Range
1493 named_range_constructor = NamedRange
1494
1495 def __init__(self, parent=None, session=None, **kwargs):
1496 if parent and session:
1497 raise ValueError('Need a parent or a session but not both')
1498
1499 self.workbook = parent
1500 self.session = parent.session if parent else session
1501
1502 cloud_data = kwargs.get(self._cloud_data_key, {})
1503
1504 self.object_id = cloud_data.get('id', None)
1505
1506 # Choose the main_resource passed in kwargs over parent main_resource
1507 main_resource = kwargs.pop('main_resource', None) or (
1508 getattr(parent, 'main_resource', None) if parent else None)
1509
1510 # append the encoded worksheet path
1511 main_resource = "{}/worksheets('{}')".format(main_resource, quote(self.object_id))
1512
1513 super().__init__(
1514 protocol=parent.protocol if parent else kwargs.get('protocol'),
1515 main_resource=main_resource)
1516
1517 self.name = cloud_data.get('name', None)
1518 self.position = cloud_data.get('position', None)
1519 self.visibility = cloud_data.get('visibility', None)
1520
1521 def __str__(self):
1522 return self.__repr__()
1523
1524 def __repr__(self):
1525 return 'Worksheet: {}'.format(self.name)
1526
1527 def __eq__(self, other):
1528 return self.object_id == other.object_id
1529
1530 def delete(self):
1531 """ Deletes this worksheet """
1532 return bool(self.session.delete(self.build_url('')))
1533

Callers 2

get_worksheetMethod · 0.85
get_worksheetMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected