ExcelFileParser

Class: ExcelFileParser

Source Location: /excelparser.php



Class Details

[line 69]


Tags:

version:  
4.2


[ Top ]


Class Variables

$biff_version =

[line 92]



Tags:

var:  
Excel file BIFF version (7 = Excel 5-7, 8 = 2000, 10 = XP)

Type:  
int


[ Top ]

$dbglog =

[line 87]


Type:  
mixed


[ Top ]

$dp =  null

[line 71]


Type:  
mixed


[ Top ]

$fat =

[line 77]


Type:  
mixed


[ Top ]

$fonts =

[line 85]


Type:  
mixed


[ Top ]

$formats =

[line 83]


Type:  
mixed


[ Top ]

$max_blocks =

[line 73]


Type:  
mixed


[ Top ]

$max_sblocks =

[line 74]


Type:  
mixed


[ Top ]

$sfat =

[line 78]


Type:  
mixed


[ Top ]

$xf =

[line 84]


Type:  
mixed


[ Top ]



Class Methods


constructor ExcelFileParser [line 115]

ExcelFileParser ExcelFileParser( [mixed $logfile = ""], [mixed $level = ABC_NO_LOG], string $logfilename, int $logtype)

Create Excel parser object

Log type can be one of the following: ABC_CRITICAL ABC_ERROR ABC_ALERT ABC_WARNING ABC_NOTICE ABC_INFO ABC_DEBUG ABC_TRACE ABC_VAR_DUMP ABC_NO_LOG

Bitwise combination of these flags is not allowed. You can use only one of them.




Parameters:

string  
$logfilename  
- optional parameter (filename for debug logging). Default value - empty string, no logging.
int  
$logtype  
log severity. Default value ABC_NO_LOG - disable logging.

[ Top ]

method find_stream [line 308]

void find_stream( mixed $dir, mixed $item_name, [mixed $item_num = 0])



[ Top ]

method getByteString [line 251]

void getByteString( mixed $str, mixed $ofs)

Returns string from stream



Tags:

deprecated:  


[ Top ]

method getDateArray [line 204]

void getDateArray( mixed $date)



[ Top ]

method getUnicodeString [line 230]

void getUnicodeString( mixed $str, mixed $ofs)



[ Top ]

method get_blocks_chain [line 272]

mixed get_blocks_chain( int $start, [bool $small_fat = false])

Get blocks chain



Parameters:

int  
$start  
bool  
$small_fat  

[ Top ]

method InitParser [line 1340]

mixed InitParser( )



[ Top ]

method isDateFormat [line 212]

bool isDateFormat( array $val)



Parameters:

array  
$val  

[ Top ]

method ParseFromFile [line 1329]

void ParseFromFile( string $filename)

Parse Excel file

This function is optimized for memory usage, but the script takes more times to be completely executed and to parse the selected data. Use with large files.




Parameters:

string  
$filename  
file name

[ Top ]

method ParseFromString [line 1315]

int ParseFromString( string $contents)

ParseFromString

This function is not optimized for memory usage, but the script takes less times to be completely executed and to parse the selected data. Use when parsing speed is critical (PHP memory limit can be exceed for huge files and script will terminate!).

IN: string contents - File contents string filename - File name of an existing Excel file.




Tags:

return:  
0 - success
  1. - can't open file
  2. - file too small to be an Excel file
  3. - error reading header
  4. - error reading file
  5. - This is not an Excel file or file stored in < Excel 5.0
  6. - file corrupted
  7. - data not found
  8. - Unsupported file version


Parameters:

string  
$contents  

[ Top ]

method parse_workbook [line 844]

void parse_workbook( mixed $f_header, mixed $dp)

Parse workbook



[ Top ]

method parse_worksheet [line 430]

void parse_worksheet( string $ws, [int $_format_needed = 1])

Parse worksheet



Parameters:

string  
$ws  
int  
$_format_needed  

[ Top ]

method populateFormat [line 125]

array populateFormat( )



Tags:

return:  
list of formats


[ Top ]

method rk_decode [line 377]

array rk_decode( int $rk)

An RK value is an encoded integer or floating-point value. RK values have a size of 4 bytes and are used to decrease filesize for floating-point values.

Bit Mask Contents

  1. 00000001H 0 = Value not changed 1 = Value is multiplied by 100
  2. 00000002H 0 = Floating-point value 1 = Signed integer value
31-2 FFFFFFFCH Encoded value If bit 1 is cleared, the encoded value represents the 30 most significant bits of an IEEE 754 floating-point value (64-bit double precision). The 34 least significant bits must be set to zero. If bit 1 is set, the encoded value represents a signed 30-bit integer value. To get the correct integer, the encoded value has to be shifted right arithmetically by 2 bits. If bit is set, the decoded value (both integer and floating-point) must be divided by 100 to get the final result.

Examples: RK value Type Div 100 Encoded value Decoded value Result 3FF00000H float no 3FF00000H 3FF0000000000000H = 1.0 1.0 3FF00001H float yes 3FF00000H 3FF0000000000000H = 1.0 0.01 004B5646H integer no 004B5644H 0012D591H = 1234321 1234321 004B5647H integer yes 004B5644H 0012D591H = 1234321 12343.21




Parameters:

int  
$rk  
32-bit value

[ Top ]

method xls2tstamp [line 195]

int xls2tstamp( mixed $date)



[ Top ]


Documentation generated on Wed, 9 Feb 2005 17:19:52 +0200 by phpDocumentor 1.3.0RC3