.. 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 =============================== | .. figure:: _static/images/widgets/fullsize/wxmsw/wx.lib.agw.xlsgrid.xlsgrid.png :alt: wxMSW :figclass: floatleft **wxMSW** .. figure:: _static/images/widgets/fullsize/wxmac/../no_appearance.png :alt: wxMAC :figclass: floatright **wxMAC** .. figure:: _static/images/widgets/fullsize/wxgtk/../no_appearance.png :alt: wxGTK :figclass: floatcenter **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.