.. wxPython Phoenix documentation
This file was generated by Phoenix's sphinx generator and associated
tools, do not edit by hand.
Copyright: (c) 2011-2020 by Total Control Software
License: wxWindows License
.. include:: headings.inc
.. currentmodule:: wx.lib.agw.xlsgrid
.. highlight:: python
.. _wx.lib.agw.xlsgrid.XLSGrid:
==========================================================================================================================================
|phoenix_title| **wx.lib.agw.xlsgrid.XLSGrid**
==========================================================================================================================================
:class:`XLSGrid` is a class based on :class:`grid.Grid` that can be used to faithfully
reproduce the appearance of a Microsoft Excel spreadsheet (one worksheet per
every instance of :class:`XLSGrid`).
:class:`XLSGrid` is a completely owner-drawn control, and it relies on the power of
:class:`grid.PyGridTableBase` and :class:`grid.PyGridCellRenderer` to draw the cell
content. For this reasons (and for some others, see the TODOs section), it will
work efficiently only for relatively small Excel files.
|
|class_hierarchy| Class Hierarchy
=================================
.. raw:: html

Inheritance diagram for class
XLSGrid:
|
|appearance| Control Appearance
===============================
|
.. container:: control-appearance-figures
.. figure:: _static/images/widgets/fullsize/wxmsw/wx.lib.agw.xlsgrid.xlsgrid.png
:alt: wxMSW
:figclass: appearance-figure
**wxMSW**
.. figure:: _static/images/widgets/fullsize/wxmac/../no_appearance.png
:alt: wxMAC
:figclass: appearance-figure
**wxMAC**
.. figure:: _static/images/widgets/fullsize/wxgtk/../no_appearance.png
:alt: wxGTK
:figclass: appearance-figure
**wxGTK**
|
|super_classes| Known Superclasses
==================================
:class:`wx.grid.Grid`
|
|method_summary| Methods Summary
================================
================================================================================ ================================================================================
:meth:`~wx.lib.agw.xlsgrid.XLSGrid.__init__` Default class constructor.
:meth:`~wx.lib.agw.xlsgrid.XLSGrid.DestroyTip` If a comment window or a tooltip over a hyperlink have been created, this
:meth:`~wx.lib.agw.xlsgrid.XLSGrid.FormatCell` Processes the creation of a single cell (an instance of :class:`XLSCell`).
:meth:`~wx.lib.agw.xlsgrid.XLSGrid.GetDefaultFontData` Returns suitable width and height (in pixels) starting from Excel's own
:meth:`~wx.lib.agw.xlsgrid.XLSGrid.InstallGridHint` Auxiliary method used to bind a ``wx.EVT_MOTION`` event to :class:`XLSGrid`.
:meth:`~wx.lib.agw.xlsgrid.XLSGrid.PopulateGrid` This is the main method of this class, and it is used to actually create
================================================================================ ================================================================================
|
|api| Class API
===============
.. class:: XLSGrid(gridlib.Grid)
:class:`XLSGrid` is a class based on :class:`grid.Grid` that can be used to faithfully
reproduce the appearance of a Microsoft Excel spreadsheet (one worksheet per
every instance of :class:`XLSGrid`).
:class:`XLSGrid` is a completely owner-drawn control, and it relies on the power of
:class:`grid.PyGridTableBase` and :class:`grid.PyGridCellRenderer` to draw the cell
content. For this reasons (and for some others, see the TODOs section), it will
work efficiently only for relatively small Excel files.
.. method:: __init__(self, parent)
Default class constructor.
:param `parent`: the grid parent window. Must not be ``None``.
.. method:: DestroyTip(self)
If a comment window or a tooltip over a hyperlink have been created, this
method destroys them.
.. method:: FormatCell(self, book, sheet, row, col, display_texts, comments, hyperlink, rich_text, default_width, default_colour)
Processes the creation of a single cell (an instance of :class:`XLSCell`).
:param `book`: an instance of the `xlrd.Book` class;
:param `sheet`: an instance of the `xlrd.sheet` class;
:param `row`: the row in which this cell lives;
:param `col`: the column in which this cell lives;
:param `display_texts`: if Mark Hammonds' `pywin32` package is available,
this is the WYSIWYG cell content for all the cells in the Excel worksheet;
:param `comments`: if Mark Hammonds' `pywin32` package is available,
this is a nested list of cell comments (notes) for all the cells in the
Excel worksheet;
:param `hyperlink`: if this cell contains a hyperlink, it will be displayed
accordingly;
:param `rich_text`: if this cell contains text in rich text format, :class:`XLSGrid`
will do its best to render the text as rich text;
:param `default_width`: this is the default width of the text in 1/256
of the width of the zero character, using default Excel font (first FONT
record in the Excel file);
:param `default_colour`: the "magic" colour used by Excel to draw non-custom
border lines.
.. note:: If you are using version 0.7.1 or lower for `xlrd`, the *hyperlink*
parameter will always be ``None`` as this feature is available only in
`xlrd` 0.7.2 (SVN).
.. note:: If you are using version 0.7.1 or lower for `xlrd`, the `rich_text`
parameter will always be ``None`` as this feature is available only in
`xlrd` 0.7.2 (SVN).
.. note:: If Mark Hammonds' `pywin32` package is not available, the `display_texts`
and `comments` parameter will be two empty nested lists.
.. method:: GetDefaultFontData(self, book)
Returns suitable width and height (in pixels) starting from Excel's own
measurements (in characters, whatever that means).
:param `book`: an instance of the `xlrd.Book` class.
:returns: a `default_width` and `default_height` in pixels, based on the
default width of the text in 1/256 of the width of the zero character,
using default Excel font (first FONT record in the Excel file).
.. method:: InstallGridHint(self)
Auxiliary method used to bind a ``wx.EVT_MOTION`` event to :class:`XLSGrid`.
.. method:: PopulateGrid(self, book, sheet, display_texts, comments)
This is the main method of this class, and it is used to actually create
the cells, size the columns and rows, merging cells, etc...
:param `book`: an instance of the `xlrd.Book` class;
:param `sheet`: an instance of the `xlrd.sheet` class;
:param `display_texts`: if Mark Hammonds' `pywin32` package is available,
this is the WYSIWYG cell content for all the cells in the Excel worksheet;
:param `comments`: if Mark Hammonds' `pywin32` package is available,
this is a nested list of cell comments (notes) for all the cells in the
Excel worksheet.