Ejemplo n.º 1
0
XLSParse::XLSParse(Analyze* pAnalyze)
    : sst(NULL)
    , sstsize(0)
    , sstBuffer(NULL)
    , sstBytes(0)
    , codepage(1251)
    , prev_rectype(0)
    , saved_reference(NULL)
    , biff_version(0)
    , formatTable(NULL)
    , forced_date_format(NULL)
    , formatTableIndex(0)
    , formatTableSize(0)
    , date_shift(25569.0)
    , rowptr(NULL)
    , startrow(0)
    , lastrow(0)
    , cell_separator (',')
    , quote_mode(QUOTE_ALL_STRINGS)
    , sheet_separator("\f")
    , m_pAnalyze(pAnalyze)
    , m_pos(0)
{
    strcpy( number_format,MK_FORMAT(DBL_DIG) );
}
Ejemplo n.º 2
0
#include "float.h"
#include <math.h>
#include <time.h>
#ifndef HAVE_STRFTIME
#include "../compat/strftime.h"
#endif
static unsigned char rec[MAX_MS_RECSIZE];
int biff_version=0;
short int *formatTable=NULL;
char *forced_date_format = NULL;
size_t formatTableIndex = 0;
size_t formatTableSize = 0;
double date_shift = 25569.0;
#define FLT_FORMAT(a,b,c) a #b c
#define MK_FORMAT(x) FLT_FORMAT("%.",x,"g") 			
char number_format[8]=MK_FORMAT(DBL_DIG);

void CleanUpFormatIdxUsed(void);

void do_table(FILE *input,char *filename) {    
	long rectype;
	long reclen,build_year=0,build_rel=0,offset=0;
	int eof_flag=0;
	int itemsread=1;
	date_shift=25569.0; /* Windows 1900 date system */
	CleanUpFormatIdxUsed();
	while (itemsread) {
		catdoc_read(rec,2,1,input);
		biff_version=getshort(rec,0);
		catdoc_read(rec,2,1,input);
		reclen=getshort(rec,0);