LIBX reading XLSx sheets
Verfasst: Mo, 18. Jun 2018 14:47
I'm evaluating the LIBX software in order to import data from external Excel files in my application.
I can't undarstand the right syntax to read correct kind of values stored in a cell.
Example routine:
oBook := xlCreateBook()
oSheet:=oBook:BookGetSheet(0)
if ! empty(oSheet)
for nRow:=oSheet:SheetFirstRow() TO oSheet:SheetLastRow()
for nCol:=oSheet:SheetFirstCol() TO oSheet:SheetLastCol()
oType:=oSheet:SheetCellType(nRow,nCol)
DO CASE
CASE oType==CELLTYPE_EMPTY
??SPACE(10)
CASE oType==CELLTYPE_NUMBER
// how convert number & date ??
oFormat:=oSheet:SheetCellFormat(nRow,nCol) // <------------------------- ????
DO CASE
CASE oFormat==NUMFORMAT_GENERAL
??STR(oSheet:SheetReadNum(nRow,nCol) ,10)
*CASE oFormat==NUMFORMAT_NUMBER_D2
??STR(oSheet:SheetReadNum(nRow,nCol) ,10,2)
*CASE oFormat==NUMFORMAT_DATE
* ??DTOC( oSheet:SheetReadDate(nRow,nCol,"DD-MM-AA") ,8)
*
ENDCASE
CASE oType==CELLTYPE_STRING
??oSheet:SheetReadStr(nRow,nCol)
CASE oType==CELLTYPE_BLANK
??SPACE(10)
ENDCASE
??SPACE(4)
next
?
next
else
?"sheet empty"
endif
I can't undarstand the right syntax to read correct kind of values stored in a cell.
Example routine:
oBook := xlCreateBook()
oSheet:=oBook:BookGetSheet(0)
if ! empty(oSheet)
for nRow:=oSheet:SheetFirstRow() TO oSheet:SheetLastRow()
for nCol:=oSheet:SheetFirstCol() TO oSheet:SheetLastCol()
oType:=oSheet:SheetCellType(nRow,nCol)
DO CASE
CASE oType==CELLTYPE_EMPTY
??SPACE(10)
CASE oType==CELLTYPE_NUMBER
// how convert number & date ??
oFormat:=oSheet:SheetCellFormat(nRow,nCol) // <------------------------- ????
DO CASE
CASE oFormat==NUMFORMAT_GENERAL
??STR(oSheet:SheetReadNum(nRow,nCol) ,10)
*CASE oFormat==NUMFORMAT_NUMBER_D2
??STR(oSheet:SheetReadNum(nRow,nCol) ,10,2)
*CASE oFormat==NUMFORMAT_DATE
* ??DTOC( oSheet:SheetReadDate(nRow,nCol,"DD-MM-AA") ,8)
*
ENDCASE
CASE oType==CELLTYPE_STRING
??oSheet:SheetReadStr(nRow,nCol)
CASE oType==CELLTYPE_BLANK
??SPACE(10)
ENDCASE
??SPACE(4)
next
?
next
else
?"sheet empty"
endif