Question

Why does Excel Reader keep failing to read final row in worksheet?

  • 27 January 2015
  • 5 replies
  • 2 views

I am reading an Excel spreadsheet into my FME workbench.  The spreadsheet has 7 

 

worksheets, each of which had various fields including x and y co-ordinate fields (for 

 

use with British National Grid).

 

 

My Excel reader works fine for almost every feature. I have told it that the x and y 

 

fields are xy co-ordinates and it reads in all the rows (several hundred for each 

 

worksheet) except for the last one in each worksheet.  Every time I get an error that 

 

says,

 

 

"XLSX Reader: Read invalid value coordinate values, x-coordinate '', y-coordinate '' 

 

on row '357'. Values should be numeric. Point geometry will not be created"

 

 

The Reader then ignores that row and doesn't read it in at all!

 

 

The Excel spreadsheet is itself the product of another FME workbench and the xy 

 

attributes are specified to come out as numbers, so there shouldn't be any difference 

 

in the format of the final row.

 

 

Does anyone have any hypotheses about why this is happening?  It's systematically 

 

the last row and that seems very odd to me.

 

 

Thanks in advance

5 replies

Userlevel 3
Badge +13
HI,

 

No hypothese needed, just verify that the error message is correct or incorrect and adjust workspace(s)
Thanks for your answer - but could you possibly elaborate?

 

 

When I inspect the data on the reader it can identify and map up all the features, but when it tries to read them into the workspace it can't take in the last feature of each excel spreadsheet.  The error is wrong in as much as the xy coords are definately numerical and correct - I need to know how to get it to work properly.
Userlevel 3
Badge +13
You can always try reading the XY as attributes and recreating the geometry in the workspace.
Badge +3
Enter another but empty row after the last one.

 

 

Maybe there is a controlcharacter in the last row?

 

 

Or, if all fails, read the x,y as attributes and use vertexcreator, as Itay said.
Thanks, I have done as you suggested and it works fine.  Read in X and Y as numbers and then use VertexCreator to replace with point using X and Y fields.

 

 

It occurred to me that I could also get FME to write to a FFS (FME Feature Store) feature type and avoid using Excel at all.

Reply