WKS4Spreadsheet Class Reference

This class parses Microsoft Works spreadsheet file. More...

#include <WKS4Spreadsheet.h>

Public Member Functions

 WKS4Spreadsheet (WKS4Parser &parser)
 constructor
 ~WKS4Spreadsheet ()
 destructor
void setListener (WKSContentListenerPtr &listen)
 sets the listener

Protected Member Functions

bool checkFilePosition (long pos)
 return true if the pos is in the file, update the file size if need
int version () const
 return the file version
void resetInput (RVNGInputStreamPtr const &input)
 reset the main input
int getNumSpreadsheets () const
 returns the number of spreadsheet
void sendSpreadsheet (int sId)
 send the sId'th spreadsheet
librevenge::RVNGString getSheetName (int id) const
 returns the name of the id's spreadsheet
void sendCellContent (WKS4SpreadsheetInternal::Cell const &cell)
 send the cell data
bool readReportOpen ()
 reads the report's header zone 17:54
bool readReportClose ()
 reads the report's end zone 18:54
bool readFilterOpen ()
 reads the filter's header zone 10:54
bool readFilterClose ()
 reads the filter's end zone 11:54
bool readCell ()
 reads a cell content data
bool readCellFormulaResult ()
 reads the result of a text formula
bool readSheetSize ()
 reads sheet size
bool readColumnSize ()
 reads the column size ( in ??? )
bool readHiddenColumns ()
 reads the list of hidden columns zone ( unused )
bool readMsWorksDOSFieldProperty ()
 reads a field property
bool readMsWorksDOSCellProperty ()
 reads actualCell properties
bool readMsWorksDOSCellExtraProperty ()
 reads the actual cell addendum properties ( contains at least the color)
bool readMsWorksDOSPageBreak ()
 reads a page break (in a dos file)
bool readMsWorksColumnSize ()
 reads the column size ( in ???)
bool readMsWorksRowSize ()
 reads the row size ( in ???)
bool readMsWorksPageBreak ()
 reads a page break
bool readMsWorksStyle ()
 reads a style
bool readCell (Vec2i actPos, WKSContentListener::FormulaInstruction &instr)
bool readFormula (long endPos, Vec2i const &pos, std::vector< WKSContentListener::FormulaInstruction > &formula, std::string &error)

Private Member Functions

 WKS4Spreadsheet (WKS4Spreadsheet const &orig)=delete
WKS4Spreadsheetoperator= (WKS4Spreadsheet const &orig)=delete
libwps::DebugFileascii ()
 returns the debug file

Private Attributes

RVNGInputStreamPtr m_input
 the input
std::shared_ptr< WKSContentListenerm_listener
WKS4Parserm_mainParser
 the listener (if set)
std::shared_ptr< WKS4SpreadsheetInternal::Statem_state
 the internal state
libwps::DebugFilem_asciiFile
 the ascii file

Friends

class WKS4Parser

Detailed Description

This class parses Microsoft Works spreadsheet file.

Constructor & Destructor Documentation

◆ WKS4Spreadsheet() [1/2]

WKS4Spreadsheet::WKS4Spreadsheet ( WKS4Parser & parser)
explicit

constructor

Referenced by operator=(), and WKS4Spreadsheet().

◆ ~WKS4Spreadsheet()

WKS4Spreadsheet::~WKS4Spreadsheet ( )

destructor

◆ WKS4Spreadsheet() [2/2]

WKS4Spreadsheet::WKS4Spreadsheet ( WKS4Spreadsheet const & orig)
privatedelete

Member Function Documentation

◆ ascii()

◆ checkFilePosition()

bool WKS4Spreadsheet::checkFilePosition ( long pos)
protected

return true if the pos is in the file, update the file size if need

Referenced by readReportOpen().

◆ getNumSpreadsheets()

int WKS4Spreadsheet::getNumSpreadsheets ( ) const
protected

returns the number of spreadsheet

◆ getSheetName()

librevenge::RVNGString WKS4Spreadsheet::getSheetName ( int id) const
protected

returns the name of the id's spreadsheet

◆ operator=()

WKS4Spreadsheet & WKS4Spreadsheet::operator= ( WKS4Spreadsheet const & orig)
privatedelete

◆ readCell() [1/2]

bool WKS4Spreadsheet::readCell ( )
protected

reads a cell content data

Referenced by readFormula().

◆ readCell() [2/2]

bool WKS4Spreadsheet::readCell ( Vec2i actPos,
WKSContentListener::FormulaInstruction & instr )
protected

◆ readCellFormulaResult()

bool WKS4Spreadsheet::readCellFormulaResult ( )
protected

reads the result of a text formula

◆ readColumnSize()

bool WKS4Spreadsheet::readColumnSize ( )
protected

reads the column size ( in ??? )

◆ readFilterClose()

bool WKS4Spreadsheet::readFilterClose ( )
protected

reads the filter's end zone 11:54

◆ readFilterOpen()

bool WKS4Spreadsheet::readFilterOpen ( )
protected

reads the filter's header zone 10:54

◆ readFormula()

bool WKS4Spreadsheet::readFormula ( long endPos,
Vec2i const & pos,
std::vector< WKSContentListener::FormulaInstruction > & formula,
std::string & error )
protected

Referenced by readCell().

◆ readHiddenColumns()

bool WKS4Spreadsheet::readHiddenColumns ( )
protected

reads the list of hidden columns zone ( unused )

◆ readMsWorksColumnSize()

bool WKS4Spreadsheet::readMsWorksColumnSize ( )
protected

reads the column size ( in ???)

◆ readMsWorksDOSCellExtraProperty()

bool WKS4Spreadsheet::readMsWorksDOSCellExtraProperty ( )
protected

reads the actual cell addendum properties ( contains at least the color)

◆ readMsWorksDOSCellProperty()

bool WKS4Spreadsheet::readMsWorksDOSCellProperty ( )
protected

reads actualCell properties

◆ readMsWorksDOSFieldProperty()

bool WKS4Spreadsheet::readMsWorksDOSFieldProperty ( )
protected

reads a field property

◆ readMsWorksDOSPageBreak()

bool WKS4Spreadsheet::readMsWorksDOSPageBreak ( )
protected

reads a page break (in a dos file)

◆ readMsWorksPageBreak()

bool WKS4Spreadsheet::readMsWorksPageBreak ( )
protected

reads a page break

◆ readMsWorksRowSize()

bool WKS4Spreadsheet::readMsWorksRowSize ( )
protected

reads the row size ( in ???)

◆ readMsWorksStyle()

bool WKS4Spreadsheet::readMsWorksStyle ( )
protected

reads a style

◆ readReportClose()

bool WKS4Spreadsheet::readReportClose ( )
protected

reads the report's end zone 18:54

◆ readReportOpen()

bool WKS4Spreadsheet::readReportOpen ( )
protected

reads the report's header zone 17:54

◆ readSheetSize()

bool WKS4Spreadsheet::readSheetSize ( )
protected

reads sheet size

◆ resetInput()

void WKS4Spreadsheet::resetInput ( RVNGInputStreamPtr const & input)
protected

reset the main input

◆ sendCellContent()

void WKS4Spreadsheet::sendCellContent ( WKS4SpreadsheetInternal::Cell const & cell)
protected

send the cell data

Referenced by sendSpreadsheet().

◆ sendSpreadsheet()

void WKS4Spreadsheet::sendSpreadsheet ( int sId)
protected

send the sId'th spreadsheet

◆ setListener()

void WKS4Spreadsheet::setListener ( WKSContentListenerPtr & listen)
inline

sets the listener

◆ version()

int WKS4Spreadsheet::version ( ) const
protected

return the file version

Referenced by readCell(), readCell(), readCellFormulaResult(), readFormula(), and sendCellContent().

◆ WKS4Parser

friend class WKS4Parser
friend

Referenced by WKS4Parser, and WKS4Spreadsheet().

Member Data Documentation

◆ m_asciiFile

libwps::DebugFile& WKS4Spreadsheet::m_asciiFile
private

the ascii file

Referenced by ascii(), and WKS4Spreadsheet().

◆ m_input

◆ m_listener

std::shared_ptr<WKSContentListener> WKS4Spreadsheet::m_listener
private

◆ m_mainParser

◆ m_state


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

Generated on Sat Jul 19 2025 05:24:40 for libwps by doxygen 1.14.0