Phoenix Logo

phoenix_title wx.lib.agw.xlsgrid.XLSGrid

XLSGrid is a class based on grid.Grid that can be used to faithfully reproduce the appearance of a Microsoft Excel spreadsheet (one worksheet per every instance of XLSGrid).

XLSGrid is a completely owner-drawn control, and it relies on the power of grid.PyGridTableBase and 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

Inheritance diagram for class XLSGrid:

appearance Control Appearance


wxMSW

wxMSW

wxMAC

wxMAC

wxGTK

wxGTK


super_classes Known Superclasses

wx.grid.Grid


method_summary Methods Summary

__init__ Default class constructor.
DestroyTip If a comment window or a tooltip over a hyperlink have been created, this
FormatCell Processes the creation of a single cell (an instance of XLSCell).
GetDefaultFontData Returns suitable width and height (in pixels) starting from Excel’s own
InstallGridHint Auxiliary method used to bind a wx.EVT_MOTION event to XLSGrid.
PopulateGrid This is the main method of this class, and it is used to actually create

api Class API



class XLSGrid(gridlib.Grid)

XLSGrid is a class based on grid.Grid that can be used to faithfully reproduce the appearance of a Microsoft Excel spreadsheet (one worksheet per every instance of XLSGrid).

XLSGrid is a completely owner-drawn control, and it relies on the power of grid.PyGridTableBase and 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.


Methods



__init__(self, parent)

Default class constructor.

Parameters:parent – the grid parent window. Must not be None.


DestroyTip(self)

If a comment window or a tooltip over a hyperlink have been created, this method destroys them.



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 XLSCell).

Parameters:
  • book – an instance of the xlrd.Book class;
  • sheet – an instance of the xlrd.sheet class;
  • row – the row in which this cell lives;
  • col – the column in which this cell lives;
  • display_texts – if Mark Hammonds’ pywin32 package is available, this is the WYSIWYG cell content for all the cells in the Excel worksheet;
  • 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;
  • hyperlink – if this cell contains a hyperlink, it will be displayed accordingly;
  • rich_text – if this cell contains text in rich text format, XLSGrid will do its best to render the text as rich text;
  • 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);
  • 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.



GetDefaultFontData(self, book)

Returns suitable width and height (in pixels) starting from Excel’s own measurements (in characters, whatever that means).

Parameters: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).


InstallGridHint(self)

Auxiliary method used to bind a wx.EVT_MOTION event to XLSGrid.



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...

Parameters:
  • book – an instance of the xlrd.Book class;
  • sheet – an instance of the xlrd.sheet class;
  • display_texts – if Mark Hammonds’ pywin32 package is available, this is the WYSIWYG cell content for all the cells in the Excel worksheet;
  • 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.