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: