Page 1 of 1

Open an excel file

Posted: Thu Mar 31, 2011 7:09 pm
by Kleyton
I wonder if someone has a routine to open the excel file and play all the cells in a TXT or DBF.

Thanks

Re: Open an excel file

Posted: Thu Mar 31, 2011 8:18 pm
by Kleyton
Able to read the excel cells, as shown below. Now how do you know if I got to the end of the file, or get a pallet of rows of xls file?

_cArq_ := "D:\ImportDados\teste.xls"
TRY
oExcel:= GetActiveObject( "Excel.Application" )
CATCH
TRY
oExcel:= CreateObject( "Excel.Application" )
CATCH
MsgInfo("Excel is not installed in this PC. Unable to continue")
Return .F.
END
END

oBook = oExcel:Workbooks:Open(_cArq_)

oFolha := oBook:Get( "ActiveSheet")

? oFolha:Cells(14, 30):Value
? oFolha:Cells(14, 31):Value
? oFolha:Cells(14, 32):Value
? oFolha:Cells(14, 33):Value
? oFolha:Cells(14, 34):Value
? oFolha:Cells(14, 35):Value

oExcel:Visible(.T.)

Re: Open an excel file

Posted: Fri Apr 01, 2011 4:57 am
by anserkk
Now how do you know if I got to the end of the file
If you are trying to retrieve data from the used rows of excel, then you can use the following commands. There are many ways and this is one among them.

Code: Select all

// Retrieves the Used Rows and Column count
nTotRowCount  := oSheet:UsedRange:Rows:Count()
nTotColCount  := oSheet:UsedRange:Columns:Count()
MsgInfo("Used Rows :"+Str(nTotRowCount)+CRLF+"Used Cols :"+Str(nTotColCount))

//You can use nTotRowCount to process further. For eg.

nCurRow :=1
Do while nCurRow <= nTotRowCount
    ? oSheet:Cells(nCurRow,1):Value
    nCurRow ++
Enddo

Code: Select all

// Method 2
nRow:=2 
Do while !empty(oExcel:Cells(nRow, 1):Value)
   nRow++
Enddo   
Regards
Anser