Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
Keyword Arguments
-----------------
wkb : Workbook object, default Workbook.current()
Defaults to the Workbook that was instantiated last or set via ``Workbook.set_current()``.
Examples
--------
>>> Sheet.all()
[, ]
>>> [i.name.lower() for i in Sheet.all()]
['sheet1', 'sheet2']
>>> [i.autofit() for i in Sheet.all()]
.. versionadded:: 0.2.3
"""
xl_workbook = Workbook.get_xl_workbook(wkb)
sheet_list = []
for i in range(1, xlplatform.count_worksheets(xl_workbook) + 1):
sheet_list.append(Sheet(i, wkb=wkb))
return sheet_list
width : float, default None
Width in points. If PIL/Pillow is installed, it defaults to the width of the picture.
Otherwise it defaults to 100 points.
height : float, default None
Height in points. If PIL/Pillow is installed, it defaults to the height of the picture.
Otherwise it defaults to 100 points.
wkb : Workbook object, default Workbook.current()
Defaults to the Workbook that was instantiated last or set via ``Workbook.set_current()``.
.. versionadded:: 0.5.0
"""
xl_workbook = Workbook.get_xl_workbook(wkb)
if isinstance(sheet, Sheet):
sheet = sheet.index
if sheet is None:
sheet = xlplatform.get_worksheet_index(xlplatform.get_active_sheet(xl_workbook))
if name:
if name in xlplatform.get_shapes_names(xl_workbook, sheet):
raise ShapeAlreadyExists('A shape with this name already exists.')
if sys.platform.startswith('darwin') and xlplatform.get_major_app_version_number(xl_workbook) >= 15:
# Office 2016 for Mac is sandboxed. This path seems to work without the need of granting access explicitly
xlwings_picture = os.path.expanduser("~") + '/Library/Containers/com.microsoft.Excel/Data/xlwings_picture.png'
shutil.copy2(filename, xlwings_picture)
filename = xlwings_picture
"""
Counts the number of Sheets.
Keyword Arguments
-----------------
wkb : Workbook object, default Workbook.current()
Defaults to the Workbook that was instantiated last or set via ``Workbook.set_current()``.
Examples
--------
>>> Sheet.count()
3
.. versionadded:: 0.2.3
"""
xl_workbook = Workbook.get_xl_workbook(wkb)
return xlplatform.count_worksheets(xl_workbook)
Returns
-------
Sheet object
Examples
--------
>>> Sheet.add() # Place at end with default name
>>> Sheet.add('NewSheet', before='Sheet1') # Include name and position
>>> new_sheet = Sheet.add(after=3)
>>> new_sheet.index
4
.. versionadded:: 0.2.3
"""
xl_workbook = Workbook.get_xl_workbook(wkb)
if before is None and after is None:
after = Sheet(Sheet.count(wkb=wkb), wkb=wkb)
elif before:
before = Sheet(before, wkb=wkb)
elif after:
after = Sheet(after, wkb=wkb)
if name:
if name.lower() in [i.name.lower() for i in Sheet.all(wkb=wkb)]:
raise Exception('That sheet name is already taken.')
else:
xl_sheet = xlplatform.add_sheet(xl_workbook, before, after)
xlplatform.set_worksheet_name(xl_sheet, name)
return cls(name, wkb)
else:
def active(cls, wkb=None):
"""Returns the active Sheet. Use like so: ``Sheet.active()``"""
xl_workbook = Workbook.get_xl_workbook(wkb)
return cls(xlplatform.get_worksheet_name(xlplatform.get_active_sheet(xl_workbook)), wkb)
Keyword Arguments
-----------------
chart_type : xlwings.ChartType member, default xlColumnClustered
Excel chart type. E.g. xlwings.ChartType.xlLine
name : str, default None
Excel chart name. Defaults to Excel standard name if not provided, e.g. 'Chart 1'
source_data : Range
e.g. Range('A1').table
wkb : Workbook object, default Workbook.current()
Defaults to the Workbook that was instantiated last or set via ``Workbook.set_current()``.
"""
wkb = kwargs.get('wkb', None)
xl_workbook = Workbook.get_xl_workbook(wkb)
chart_type = kwargs.get('chart_type', ChartType.xlColumnClustered)
name = kwargs.get('name')
source_data = kwargs.get('source_data')
if isinstance(sheet, Sheet):
sheet = sheet.index
if sheet is None:
sheet = xlplatform.get_worksheet_index(xlplatform.get_active_sheet(xl_workbook))
xl_chart = xlplatform.add_chart(xl_workbook, sheet, left, top, width, height)
if name:
xlplatform.set_chart_name(xl_chart, name)
else:
name = xlplatform.get_chart_name(xl_chart)
def __init__(self, *args, **kwargs):
# Use current Workbook if none provided
self.wkb = kwargs.get('wkb', None)
self.xl_workbook = Workbook.get_xl_workbook(self.wkb)
# Arguments
if len(args) == 1:
self.sheet_name_or_index = xlplatform.get_worksheet_name(xlplatform.get_active_sheet(self.xl_workbook))
self.name_or_index = args[0]
elif len(args) == 2:
if isinstance(args[0], Sheet):
self.sheet_name_or_index = args[0].index
else:
self.sheet_name_or_index = args[0]
self.name_or_index = args[1]
self.xl_shape = xlplatform.get_shape(self)
self.name = xlplatform.get_shape_name(self)