After further test, I found that normally fpspread will read the value if a cell contains an invalid or undefined formula.
The problem mention above may be due to the some abonormal behavious of Excel which can be seen in the attached file:
1. rowfunc.xlsx - the formula was typde in manually in A1, A2, A3. This file can be opened in fpspread
2. rowfunc1.xlsx -the formula was typed in manually in A1 then copy to A2 and A3. This file cannot be read properly in fpspread
There is no problem if I use LibreOffice to open rowfunc1.xlsx. Save the file again in Libreoffice, file size reduced to from 11k to 7k bytes and fpspread can read the file after that!