Nebula
Loading...
Searching...
No Matches
IO::ExcelXmlReader Class Reference

#include <excelxmlreader.h>

Detailed Description

A stream reader class which reads Excel XML files.

NOTE: the strings returned by this class will be in UTF-8 format!

Inherits IO::StreamReader.

Public Member Functions

 ExcelXmlReader ()
 constructor
 
virtual ~ExcelXmlReader ()
 destructor
 
virtual bool Open ()
 begin reading from the stream
 
virtual void Close ()
 end reading from the stream
 
SizeT GetNumTables () const
 get the number of tables in the file
 
const Util::StringGetTableName (IndexT tableIndex=0) const
 get the name of the table at given table index
 
IndexT GetTableIndex (const Util::String &tableName)
 get index of table by name
 
SizeT GetNumRows (IndexT tableIndex=0) const
 get number of rows in table
 
SizeT GetNumColumns (IndexT tableIndex=0) const
 get number of columns in table
 
bool HasColumn (const Util::String &columnName, IndexT tableIndex=0) const
 return true if table has named column
 
IndexT FindColumnIndex (const Util::String &columnName, IndexT tableIndex=0) const
 get column index by name, returns InvalidIndex if column doesn't exist
 
const Util::StringGetElement (IndexT rowIndex, IndexT columnIndex, IndexT tableIndex=0) const
 get cell content by row index and column index
 
const Util::StringGetElement (IndexT rowIndex, const Util::String &columnName, IndexT tableIndex=0) const
 get cell content by row index and column name (SLOW!)
 
- Public Member Functions inherited from IO::StreamReader
 StreamReader ()
 constructor
 
virtual ~StreamReader ()
 destructor
 
void SetStream (const Ptr< Stream > &s)
 set stream to read from
 
const Ptr< Stream > & GetStream () const
 get currently set stream
 
bool HasStream () const
 return true if a stream is set
 
bool Eof () const
 return true if the stream has reached EOF
 
bool IsOpen () const
 return true if currently open
 
- Public Member Functions inherited from Core::RefCounted
 RefCounted ()
 constructor
 
int GetRefCount () const
 get the current refcount
 
void AddRef ()
 increment refcount by one
 
void Release ()
 decrement refcount and destroy object if refcount is zero
 
bool IsInstanceOf (const Rtti &rtti) const
 return true if this object is instance of given class
 
bool IsInstanceOf (const Util::String &className) const
 return true if this object is instance of given class by string
 
bool IsInstanceOf (const Util::FourCC &classFourCC) const
 return true if this object is instance of given class by fourcc
 
bool IsA (const Rtti &rtti) const
 return true if this object is instance of given class, or a derived class
 
bool IsA (const Util::String &rttiName) const
 return true if this object is instance of given class, or a derived class, by string
 
bool IsA (const Util::FourCC &rttiFourCC) const
 return true if this object is instance of given class, or a derived class, by fourcc
 
const Util::StringGetClassName () const
 get the class name
 
Util::FourCC GetClassFourCC () const
 get the class FourCC code
 

Private Member Functions

 __DeclareClass (ExcelXmlReader)
 
bool ParseExcelXmlStream ()
 parse the Excel-XML-stream
 
bool ParseTables (const Ptr< IO::XmlReader > &xmlReader)
 parse table contents
 

Private Attributes

Util::Array< Util::StringtableNames
 
Util::Array< Util::FixedTable< Util::String > > tables
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::RefCounted
static void DumpRefCountingLeaks ()
 dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!)
 
- Protected Member Functions inherited from Core::RefCounted
virtual ~RefCounted ()
 destructor (called when refcount reaches zero)
 
- Protected Attributes inherited from IO::StreamReader
Ptr< Streamstream
 
bool isOpen
 
bool streamWasOpen
 

Constructor & Destructor Documentation

◆ ExcelXmlReader()

IO::ExcelXmlReader::ExcelXmlReader ( )

constructor

◆ ~ExcelXmlReader()

IO::ExcelXmlReader::~ExcelXmlReader ( )
virtual

destructor

Member Function Documentation

◆ __DeclareClass()

IO::ExcelXmlReader::__DeclareClass ( ExcelXmlReader )
private

◆ Close()

void IO::ExcelXmlReader::Close ( )
virtual

end reading from the stream

Reimplemented from IO::StreamReader.

◆ FindColumnIndex()

IndexT IO::ExcelXmlReader::FindColumnIndex ( const Util::String & columnName,
IndexT tableIndex = 0 ) const

get column index by name, returns InvalidIndex if column doesn't exist

NOTE: this method is slow because it does a linear search over the column names.

◆ GetElement() [1/2]

const String & IO::ExcelXmlReader::GetElement ( IndexT rowIndex,
const Util::String & columnName,
IndexT tableIndex = 0 ) const

get cell content by row index and column name (SLOW!)

◆ GetElement() [2/2]

const String & IO::ExcelXmlReader::GetElement ( IndexT rowIndex,
IndexT columnIndex,
IndexT tableIndex = 0 ) const

get cell content by row index and column index

◆ GetNumColumns()

SizeT IO::ExcelXmlReader::GetNumColumns ( IndexT tableIndex = 0) const

get number of columns in table

◆ GetNumRows()

SizeT IO::ExcelXmlReader::GetNumRows ( IndexT tableIndex = 0) const

get number of rows in table

◆ GetNumTables()

SizeT IO::ExcelXmlReader::GetNumTables ( ) const

get the number of tables in the file

◆ GetTableIndex()

IndexT IO::ExcelXmlReader::GetTableIndex ( const Util::String & tableName)

get index of table by name

◆ GetTableName()

const String & IO::ExcelXmlReader::GetTableName ( IndexT tableIndex = 0) const

get the name of the table at given table index

◆ HasColumn()

bool IO::ExcelXmlReader::HasColumn ( const Util::String & columnName,
IndexT tableIndex = 0 ) const

return true if table has named column

NOTE: this method is slow because it does a linear search over the column names.

◆ Open()

bool IO::ExcelXmlReader::Open ( )
virtual

begin reading from the stream

Open the Excel-XML-stream and completely parse its content.

Reimplemented from IO::StreamReader.

◆ ParseExcelXmlStream()

bool IO::ExcelXmlReader::ParseExcelXmlStream ( )
private

parse the Excel-XML-stream

This loads the Excel-XML file into a TinyXML document and reads the content into 2D string tables.

◆ ParseTables()

bool IO::ExcelXmlReader::ParseTables ( const Ptr< IO::XmlReader > & xmlReader)
private

parse table contents

Setup the table data from a loaded Excel XML file.

Member Data Documentation

◆ tableNames

Util::Array<Util::String> IO::ExcelXmlReader::tableNames
private

◆ tables

Util::Array<Util::FixedTable<Util::String> > IO::ExcelXmlReader::tables
private

The documentation for this class was generated from the following files: